A fuzzy learning algorithm which is applicable not only to a regulation problem but also to a tracking problem of a nonlinear plant is presented in this paper. The algorithm introduces a reference model to generate a desired output and minimizes a performance index based on the error between the reference and plant output. When the quantities of the error, error-rate, and learning delay are comprised in the performance index function, the control rules which generate the various response can be obtained by changing the quantities. The cost function is minimized by a gradient method and the control input is also updated. Using the algorithm, we can easily achieve good control rules with a minimal amount of prior information about the environment. Especially in a tracking problem of a nonlinear plant, as constructing the rule matrix about the various operating points, we can obtain powerful control rules which are applicable to an application phase as well as a learning phase of the plant.