How to change the default color/style of the fits?
See the options fp.fitcolor, fp.fitlinestyle and fp.fitlinewidth
What are the "initial guesses"?
For nonlinear fits, you should provide initial guesses for the
parameters of your fits to "help" the solver to converge towards
the "good" values. The solver (the fminsearch function)
starts from the initial guesses and then varies the coefficients in an
attempt to find the best fit.
For example, suppose you have the data
which obvisouly is bad. By default, showfit has used
cste=1, a0=1 and L=1, which is too far away
from the 'true' coefficients. To specify the intial guess:
you now obtain:
which is clearly much better. In this example, the initial guesses for a0
and L, which are omitted, are 1.
You may also specify the initial guesses like this:
showfit('cste+a0*exp(-x/L)',[10 1 1]);
In this case, you should specify ALL the initial guesses, in the alphabetical
order of the parameter names (here L, a0 and cste because
L is a capital letter).
What means "(lin)" or "(log)" in the equation box?
It indicates whether the data itself, say Y, or its logarithm, LOG(Y),
has been fitted. By default the mean square procedure is applied to Y if the Y-axis of the current
figure is linear, and
it is applied LOG(Y) if the Y-axis is logarithmic. For instance, plot a
power law in log scales,
If you try
the logarithm of the data is fitted. If you turn the Y-axis in linear scale
(you may use swy for this) and fit again, you will obtain different values.
You may also force ezfit to fit Y or LOG(Y) whatever
the Y-axis, by specifying the optional argument
Where are stored the values of the fitted parameters?
Fit your data using
f = ezfit('a*x+b');
The structure f contains all the informations about your fit. The
strings 'a' and 'b' of the parameter names are stored in f.param
and their values are in f.m. This works also with showfit.
You may also directly create in the current workspace a set of variables which
contain the values of the fitted parameters:
This will create two variables, 'a' and 'b'. You can also set the option
'automakevarfit = on' in fitparam: This will
call makevarfit each time ezfit (or showfit) is executed.
Can I save a fit equation?
Yes. First, you may define your favorite fit equation as a user-defined fit,
This will update the file 'userfit.mat' in the EzyFit directory, so
your fit equation may be re-used in a future session. You can now fit your
data using this user-defined fit,
Since a fit equation is a simple string, another way is to create a variable,
myfit = 'E(k) = C*k^(-n); C=0.1; n=2; log';
and to save it in a Mat-file,
To fit your data with this fit definition, just type
Can I save my own settings configuration?
Yes. The default settings (color, width, equation box etc.) are coded
in the file fitparam.m. So you may create a copy of this file
with your own settings, and you just have to rename the settings file
you want to use fitparam.m.
How does EzyFit work?
The core function of the EzyFit toolbox is ezfit, which
is based on Matlab's built-in FMINSEARCH function (Nelder-Mead
method). FMINSEARCH performs an unconstrained nonlinear minimization of
the SSR (sum of squared residuals) with respect to the various parameters.
The additional function showfit
simply calls ezfit with graphical output.
Why do I obtain the error 'Maximum number of function evaluations has been exceeded'?
This error means that FMINSEARCH could not converge towards a solution in a
reasonable number of
iterations. There is no way for the moment to change this number
of iterations in EzyFit. Try to use initial guesses closer to
the expected values.
Why can't I open a figure saved with the Ezyfit menu?
If the Ezyfit toolbox has been installed using efmenu,
all saved figures (.fig files) and GUIs created using GUIDE have
the Ezyfit menu included (sometimes several occurence of the Ezyfit menu).
If you try to open the figure or GUI under a Matlab system without the Ezyfit
toolbox, the error ??? Error using ==> struct2handle
Undefined function or variable 'efmenu' is issued.
Use the function remove_efmenu_fig
(introduced in Version 2.40) in order to remove the menu.
If you want to uninstall the Ezyfit toolbox, or only the Ezyfit menus,