File Exchange

image thumbnail

EzyFit 2.44

version 2.44 (716 KB) by

A free curve fitting toolbox for Matlab

4.73214
117 Ratings

122 Downloads

Updated

View License

The Ezyfit toolbox for Matlab enables you to perform simple curve fitting of one-dimensional data using arbitrary (non linear) fitting functions.
EzyFit adds a new menu to your figure windows, which allows you to easily fit your data with predefined or user-defined fit equations, including selection of your data (outliers removing) using the ``Data Brushing'' tool available since Matlab 7.6).
This toolbox also provides a set of command-line functions to perform curve fitting 'programmatically': you just have to type something like showfit('c+a/x^n') and EzyFit gives you the values for c, a and n and shows you the curve!
Visit http://www.fast.u-psud.fr/ezyfit/ for additional info.
Installation and system requirements
EzyFit needs Matlab 7.0 or higher. It has been tested up to R2015b, but mainly under Windows. The command-line functions (e.g. ezfit, showfit...) work equally well on all systems. However graphical operations (e.g. showslope, getslope...) are not fully stable.

1. Download and unzip the EzyFit Toolbox in a directory somewhere in your system. For instance, in a Windows installation, the directory Documents/MATLAB/ezyfit may be a good location. Do NOT install the toolbox in the Matlab directory itself (Program Files/Matlab directory in Windows). If you upgrade from an older version, first empty the previous directory.

2. Select 'Set Path' (available in the menu File in Matlab 7, or in the tab Home in Matlab 8). In the dialog box, click on 'Add Folder' (NOT 'with subfolders') and select the ezyfit directory. Click on 'Save' and 'Close'.

3. If you want to always have the Ezyfit menu in your figures, type
'efmenu install'. This will create or update your 'startup.m' file.

Note: If you upgrade Matlab and you want to use your previous Ezyfit installation, you just have to follow the steps 2-3.

Examples:

plotsample power % a power law
showfit c*x^n

plotsample hist % an histogram
f = ezfit('gauss'); % fits with a Gaussian
f % displays the values of the coefficients

Comments and Ratings (170)

Zahra Shaf

Hi , Thank you for your toolbox. I have a question and I would greatly appreciate if you could help me.
Can I fit my Plot to another Reference plot? I mean I do not want to fit to the specific equation, I have a plot from the experiment which I want to fit with the plot from reference.

Hello, I'm not able to use the erf function (I got this error :
Error using ezfit (line 552)
Fit: error during the fminsearch procedure

Error in showfit (line 162)
f=ezfit(fun,varargin{2:end});

Error while evaluating Menu Callback)

Is the erf function implemented in Ezyfit ?

Thank you.

Shahbaz Alvi

I am using this new version of EzFit and for some reason I am getting R values greater than one. In this a known problem?

Toni Wöhrl

Yue Jiang

Can I use it for lorentz fit?

Hi, the ezyfit menu does not show up on the Figure menu. Any clue? Using Matlab 2016

Peter Sandor

Jan Kappen

Raul Tupac

Hello Frederic, great work and thank you for this toolbox. I have a question, it is possible to plot the interval confidents for each fit?

xiaoxi chen

Thank you!

Amanda T

Hi. Thank you so much for your response. I don't know why it wasn't letting me move it before. I have 3 datapoints with error that I want to fit with custom equation. I have 70 sets of these. I made a for loop and some fits are perfect and others are way off. Any ideas of why that would be? Thank you!

Frederic Moisy

Frederic Moisy (view profile)

Dear Amanda T,
Of course you can move the equation box where you want in the figure: just click and drag! FM

Amanda T

Is there a way to move the fit details on the plot to another location on the plot? It's covering my data when it displays on the top left. The top right would be better. I can't drag the box either. The box has the custom equation I am using and the fit variables. Thank you! This program is awesome!

Frederic Moisy

Frederic Moisy (view profile)

Dear Mihaela,
thanks for your message. The new definition is given in the doc page of ezfit, see: http://www.fast.u-psud.fr/ezyfit/html/ezfit.html

Thank you for the tool! In the reference note there is a NB saying hat the definition of R changed in Ezyfit v2.44.
What is the new definition?
Many, many thanks in advance!

yongjun wang

Thanks a lot for the tool ! I wanted to use it for error function fitting as following:
f=ezfit('y(x)=a+b*erf((x-c)/d);a=100;b=120;c=35;d=6')

but kept on getting following errors even with good guess.
Error using ezfit (line 552)
Fit: error during the fminsearch procedure

Dear Fredric, thank you for updating
and many thanks from my students
after using MATLAB2016 there is a problem efmenu install is not known do you mean install

arnold

arnold (view profile)

Hi Frederic, thanks for updating!
I still get an error trying to fit a gaussian to a histogram. Is there any workaround?
The error is as follows:

Reference to non-existent field 'XData'.

Error in pickdata (line 89)
x=co.XData;

Error in ezfit (line 211)
[x,y,h] = pickdata(fp);

Error in showfit (line 164)
f=ezfit(fun,varargin{2:end});

Error while evaluating Menu Callback

Frederic Moisy

Frederic Moisy (view profile)

Dear Ezyfit Users,
The efmenu bug is fixed in version 2.43.
F. Moisy

pihalbe

Hey, it's a very easy to handle fit programm! thx u! is it possible to show the standard errors of the fit parameters?

arnold

arnold (view profile)

great tool but yeah, many isues under the newer matlab releases. Under 2015b (and I assume before), it doesn't work for the new 'histogram' function, i.e.

Reference to non-existent field 'XData'. Error in pickdata (line 83)

What a shame matlab doesn't include something like this with its curve-fitting-toolbox i.e.

Sky Sartorius

Sky Sartorius (view profile)

Pretty great tool. Thank you.

I expected more problems with using a newer version of Matlab with this, but so far I've only had to slightly change one like to make it work (line 95 in efmenu.m).

sama

sama (view profile)

Thanks a lot for this file. I am wondering how can I use it if I plot data from excel sheet by xlsread. Thanks

Rica

Rica (view profile)

Great tool. Is it possible to add the RMSE also showed in the Plot?

Thnak you

Agent AY2

The error mentioned below is caused by matlab changing the format for its figure data in more recent versions. To fix this issue:
1. Open efmenu.m from your ezyfit folder
2. Locate the line "if get(0,'CurrentFigure')" (normally around line 95
3. Replace it with "if not(isempty(get(0,'CurrentFigure')))"
4. Save and exit the file

This should fix the issue!

Nathan Orloff

I love this toolbox, but in 2014 it doesnt show up in my figure gui. Not sure whats wrong, but I would love to continue using it.

Has anyone encountered this message error (using Matlab 2014b) :
"Error in efmenu (line 95)
if get(0,'CurrentFigure')"

Thanks for your help.

Shubham

Mathew

Mathew (view profile)

Many errors in Matlab 2014b, is there any fix coming?

Arkadiusz

Having some problems after upgrading Matlab to 2014b version. Following Olaf's sugegstions, some of the problems are solved (efmenu in figure), however still cannot do fit, returned error:

Error in pickdata (line 84)
x=co.XData;

Error in ezfit (line 210)
[x,y,h] = pickdata(fp);

Error in showfit (line 164)
f=ezfit(fun,varargin{2:end});

(The line numbers might have changed since I tried to investigate a bit the problem)

Anyone has seen the same issue ??

Arkadiusz

Olaf Bousche

Excellent tool. Needed a quick bug fix in 2014b:

in efmenu.m, replace everything with set(0,.. with set(groot,.. and get(0,.. with get(groot,... Also fixed line 95:

should be

if ~isempty(get(groot,'CurrentFigure'))

Replace everything with set(0,.. with set(groot,.. and get(0,.. with get(groot,... in other files as well

Olaf

Mikhail

Galib

Galib (view profile)

Pretty impressive, but I will have to study it more to understand the way it converges differently for different seeds for y=Y_inf+(Y_0-Y_inf)exp(-t/Tau), where Y_inf is the seed.
Fernando Schlindwein

Jonathan

Having trouble getting the Ezyfit option on my figures. The tool is function within matlab, but not appearing in an interactive way on my figures. Matlab 2013b... Any help appreciated!

Qianqian Fang

Qianqian Fang (view profile)

  • 1 file
  • 574 downloads
  • 4.55102

for those of you who want to set a bound to the parameters, you may try the following patch:

fangq@wazu:~/space/Libraries/ezyfit$ diff ezfit.m.old ezfit.m
203a204
> bounds={};
240a242,244
> if nargin>4
> bounds={varargin{5:end}};
> end
548c552
< m=fminsearch(@fitlin, m0);
---
> m=fminsearchbnd(@fitlin, m0,bounds{:});
559c563
< m=fminsearch(@fitlog, m0); % bug fixed here! (v2.51)
---
> m=fminsearchbnd(@fitlog, m0,bounds{:}); % bug fixed here! (v2.51)

you will need to download the fminsearchbnd function from

http://www.mathworks.com/matlabcentral/fileexchange/8277-fminsearchbnd-fminsearchcon

and put the files under your matlab search path.

to set a bound, use

fitdata=ezfit(xdata,ydata,fun,p_ini,lb,ub);

where lb and ub are the lower/upper bounds, respectively, similar to those required by fminsearchbnd.

Kyle

Kyle (view profile)

James, Sara, Thierry and all others:

R2013b doesn't have the start button anymore. To install, get your path to ezyfit (setpath) and save it in the Environment tab. Then there is a hard coded problem in efmenu.m at line 212. The semi-colon should be a colon:

212 sufolder = strrep(userpath,':','');

James

James (view profile)

Thierry NOVO, I never solved the problem. I had to stop using it. Too bad, I really liked it. I hope the issue is resolved soon.

Tina

Tina (view profile)

Hello,
I have a question: is there a way to force variables being smaller than a certain value or within an interval?

F.i. something like f=ezfit(x,y,'a/(1+exp(-b*(x-c)))+d;a=8&a>0;b<1&b>0;c=70;d=0'); (this of course does not work)

Thierry NOVO

James, I have the same issue when i try to install Ezyfit to Matlab R2012a. No start button and when i type efmenu install i obtain the same message like you.
Do you solve your installation problem

Jim Quirk

Li

Li (view profile)

Jose

Jose (view profile)

Excellent AND very functional software. How do you deal with Constants? I want to fix the value of one of the variables (use constants), however I haven't figured out how to do this.

arnold

arnold (view profile)

I came up with my own solution for the problem with the equation box and subplots.

I used 'bordertext' from Jan de Wilde
http://www.mathworks.com/matlabcentral/fileexchange/41475-bordertext

Then I replaced the 'annotation' in EZfit's 'showeqbox.m' (last lines) against this:

hboxeq = bordertext( 'innertopleft', streq, '[orange]' );

[orange] is the standard color of ezfit and since 'bordertext' does not accept RGB colors, I just added this to the code myself which is very easy as well.

The result is a much cleaner eqbox, well, it isn't a box anymore. The positioning is relative to each axis. One can set background colors and everything else in 'bordertext' too.

Here's the result:
http://img6.imageshack.us/img6/2458/ymj9.jpg

Przemyslaw

Arnaud

Arnaud (view profile)

arnold

arnold (view profile)

Gotta love it.

Sadly it doesn't get along with subplots at all. Does anybody have a solution for that?

Enrico Fonda

James

James (view profile)

When I run efmenu install, I get the following error:

===============
Error using fprintf
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in efmenu>install_ef (line 248)
fprintf(fid,'%s\n','%STARTUP Startup file');
Error in efmenu (line 90)
install_ef;
===============
I have used ezyfit in prior versions of MatLab, and liked it very much. I am now using R2013a, and would like to use it again. Any suggestions?

arnold

arnold (view profile)

Hi,

can't get "efmenu" to work in startup file.
I always get this Warning when starting Matlab 2012b:

===========================
Warning: Executing startup failed in matlabrc.
This indicates a potentially serious problem in your MATLAB setup,
which should be resolved as soon as possible. Error detected was:
MATLAB:minrhs
Not enough input arguments.
> In matlabrc at 205
===========================

any ideas where this warning originates? Executing efmenu when matlab is already running works perfectly.

Bruce

Bruce (view profile)

So far, love it... An improvement suggestion, modify extrapolate (or add a user option) to not extrapolate in the Y dimension as well as the X.

and a "bug". If there are several subplots, and showfit is used on several of them, the equation boxes are all drawn in the upper left subplot, not in the relevant subplot.

Otherwise, love it!!!

arnold

arnold (view profile)

very nice, thanks a lot!

How about adding conficence intervals at sigma or 2sigma surroundings? :)

Very nice and easy-to-use tool! Thank you!

Frederic Moisy

Frederic Moisy (view profile)

Dear Razvan,
the definition of the coefficient R is given here: http://www.fast.u-psud.fr/ezyfit/html/ezfit.html

Razvan

Razvan (view profile)

Nice toolbox!
What exactly is the R coefficient that is displayed in the fit? Is this the same as R^2 from here: http://en.wikipedia.org/wiki/Coefficient_of_determination

Alec de Zegher

Alec de Zegher (view profile)

  • 1 file
  • 131 downloads
  • 4.78182

Very good!

Reid

Reid (view profile)

I love the toolbox, it was invaluable with a recent project, but it seems to cause an error with the MEX function. I am using Windows 7 64-bit system with MATLAB R2011b. I went through a lot of troubleshooting with MathWorks help, so I'm confident this was the source.

With every fit, that contains more than 4 search parameters I get the result

Fit: error during the fminsearch procedure

Even if I created the fitparameters using the curve fitting tool, so that the initial parameters are highly optimized.

just come by this very nice and handy toolbox. its great

question: is it possible to show the standard errors for this fit parameters? that would be very useful. param B +- se.
or to get the jacobian matrix?

Saurabh Singh

Nice tool indeed!
However, I have vector 'Y' with vectors 'U' and 'L' of same length as that of 'Y' defining upper and lower error ranges respectively of elements Y(i).

Using Ezfit for curve fitting, what I can provide is symmetrical error range dy. Is there anyway to include both the upper(U) and lower bound (L) while fitting the curve?

Florian Knorn

Florian Knorn (view profile)

Oh, just one question. Maybe it's just me, but I can figure out a way to use constants in an Ezfit FUN expression. Sure, I could use subs to replace known variables by their numerical values before using ezfit, but it would be very handy, in particular for scripting, if you could tell ezfit which variables *not* to consider unknown but rather use the currently assigned value for...

Florian Knorn

Florian Knorn (view profile)

Very useful, as good as an "original" Matlab toolbox. Frédéric, you really should put a PayPal donation button on your page for me and other people to click! Your work and efforts very much deserve it.

Frederic Moisy

Frederic Moisy (view profile)

To Nick:

Yes, the problem is fixed since July 2010.
See the function "remove_efmenu_fig.m".

-- The author

Nick

Nick (view profile)

Hi there,
Re: EZYFIT MENU IN SAVED FIGURES AND GUIs conversation back in 2008. Has anyone figured out how to remove the toolbox from the GUI figures? It causes a problem where I am sharing GUIs and they don't have the Ezyfit software.

Any help would be useful,

Phuoc

Phuoc (view profile)

Sarah

Sarah (view profile)

seem to have solved the problem. Sorry for posting.

Sarah

Sarah (view profile)

Hi Frederic, this looks like a very nice plugin. I am using matlab 2010a, but after adding the path and restarting, ezyfit does not show up. Also if I try efmenu install :
??? Error using ==> fprintf
Invalid file identifier. Use fopen to generate a valid file identifier.

Error in ==> efmenu>install_ef at 237
fprintf(fid,'%s\n','%STARTUP Startup file');

Error in ==> efmenu at 86
install_ef;
How can I fix this?

Simon

Simon (view profile)

Very useful, Thanks a lot!

Frederic Moisy

Frederic Moisy (view profile)

Dear Joseph,
Thank you for your suggestion.
But please note that this issue has already been addressed: use the function remove_efmenu_fig (included in the toolbox since 2010) in order to remove the Ezyfit menu from a saved figure.
-- The author

Joseph Cheng

Follow these steps get rid of the error that efmenu doesn't exist in GUIs created while Ezfit was installed:
**Note I'd create a backup in case something goes wrong.**

fname='fig.fig'; % <- your fig name...
load(fname,'-mat');
hgS_070000.properties
%get rid of the 'efmenu' entry in CreateFcn
%additionally you'll need to get rid of the EZfit items created in the GUI.
hgS_070000.children
%Go through and get rid of any remaining references in the
%children that are related to Ezfit.
save(fnam,'hgS_070000');

%These remaining reference items are most likely the EZfit uimenus and can alternatively be remove
%in the Menu Editor inside the GUIDE interface.

Great tool. Thanks for sharing.

Nathan Tomlin

João Faria

Homerarg

Thorsten Maly

Carl

Carl (view profile)

vick Audi

Problem with unistallation:

Even after following your following recommended steps (under full unistallation):
Full uninstallation

In order to remove the Ezyfit toolbox from your Matlab installation, follow the 3 steps:

1. Edit the 'startup file' by typing

edit startup

and remove the following lines

% These lines have been added by 'efmenu install' (01-Apr-2008 23:10:11):
efmenu; % Includes the EzyFit menu for all new figure.
fprintf(' To get started with the EzyFit toolbox, select EzyFit from the Help browser.\n\n');

2. From the menu 'File > Set Path', select the directory '../ezyfit', and click on 'Remove' and 'Save'.

3. Restart Matab.

%*************************************%
I'm getting the following error when I run my GUI:
%*************************************%

??? Error using ==> struct2handle
Undefined function or variable 'efmenu'.

??? Error using ==> struct2handle
Error while evaluating figure CreateFcn

%*************************************%

This is getting a little annoying now. Kindly suggest a fix. Thanks

rene

rene (view profile)

Brilliant plugin, though i had problems getting it to work with matlab 2010a.
If anybody else is having problems with getslope.m you have to change line 76 from
if v>=7.4
to
if v>=7.4 || regexp(strv,'.*R20\d\d.*')==1

This should correct the version detection.

rene

rene (view profile)

Very Nice tool !
Easy and rapid handle. Something that sometime miss me with matlab...

Thanks to the author.

Kassi

Kassi (view profile)

I would also like support for NaN values, please! :)

Roman Voronov

Please add support for NaN values

Wesley

Wesley (view profile)

Al Ka

Al Ka (view profile)

Very good plugin but I have a serious problem with evalfit(). I have the following code:

x = [1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749];
x= x';

y = 1.0e+03 * [1.0408 1.0392 1.0376 1.0362 1.0348 1.0335 1.0323 1.0312 1.0302 1.0293 1.0285 1.0278 1.0271 1.0266 1.0261 1.0258 1.0255];
y=y';

f = ezfit(x,y,'y=20-a*10*log(x)');

figure; plot(f.x,f.y, 'b-');
figure; plot(x,evalfit(f,x),'r-');

If you run it you will see that the two plots are way off while they should be almost identical. I guess. Please let me know what I am doing wrong.

I want to use evalfit to extrapolate some data. Thank you in advance!

Frederic Moisy

Frederic Moisy (view profile)

Dear Basim Kakakhel,
Please try the following: ezfit(c,y,'y(c)=a*(1-exp(-b*c)')

An excellent utility, I am having little trouble in running the following.

I have two vectors of 360 elements each.

First vector is y which contains the pixel number from 1-360

the second vector is c, it contains the values for the y vector.

the aim is to fit a function similar to this

y=a(1-exp(b*c))

I am more interested in the a coefficient. However i am getting the following error.

ezfit(y,c,'y=a*(1-exp(-b*c)')
??? Error using ==> ezfit at 549
Fit: error during the fminsearch procedure

Liang Jin

Great features and easy to use.

Patrick

Very helpful tool! In stock form, can't handle completely arbitrary fit functions; EQ2ML doesn't convert parameters in expressions such as 'myfitfun(K,x)' to the required m(i) format for fminsearch, since it treats 'K,x' as a single token. This is quickly fixed by adding ',' to the list of delimiters used by FINDWORD, after which it handles that input just fine.

Along those lines, it would be nice if you could specify the fit function using a handle; restricting the 'x' variable to be either the first or last free variable in the handle/anonymous function should allow that.

Siva

Siva (view profile)

Just great !

Great, great toolbox, really useful.
One possible improvment: to handle subplot command in the display using showfit. Now, when doing subplot, the info about the fit always shows on the first subplot (subplot(xxx,xxx,1)).

Matthias

You're a champion for creating this!
Thanks very much...

I do have a couple of questions I would like to ask:

When you say "There is no way for the moment to change this number of iterations in EzyFit", I am a bit confused by this. In fminsearch the default for 'MaxInter' and 'MaxFunEvals' are both '200*numberOfVariables'.

I have set these to 2000000*numberOfVariables but I still run into the exact same error when using:
ezfit(x,y, a1*exp(-b1*x)+a2*exp(-b2*x)+y0)

The error is:
Exiting: Maximum number of function evaluations has been exceeded
- increase MaxFunEvals option.
Current function value: 30502.906917

Also, since MaxInter and MaxfunEvals both must be integer values, I do not understand how the iteration above can have decimal values. Or maybe I am misinterpreting it?

The other thing I wanted to say is that if run fminsearch and call fitfun as per the code below, fminsearch is able to generate a perfect 3 exponent decay function in 175 iterations (i.e., much lower than 30502.906917). I should think ezfit should be able to achieve the exact same result if allowed to iterate within definable constraints (see TollX and TollFun below), because it also uses fminsearch.

Finally, probably a dumb question, how come 'showfit' will work when I supply a 3 (or 2) exponent function but ezfit fails with the above iteration error?

Looking forward to reading your answers......this is otherwise a brilliant toolbox.

Best regards,
Matthias

code:
-------
% Define initial paramters

t = x;
y = y;
% Grab x and y values generated in ginput

TolFun = .000000001;
TolX = 0.1;
% TolFun = Termination tolerance on the function value
% TolX = Termination tolerance on x

% Plot x and y

set(0,'DefaultFigureWindowStyle','docked')
figure;plot(t,y,'ro')
hold on
h = plot(t,y,'b');
hold off
title('Input data')
start = [0;0;0];
% Define starting lambdas (initial guesses)

outputFcn = @(x,optimvalues,state) fitoutputfun(x,optimvalues,state,t,y,h);
% User defined output function for each iteration of fminsearch

options = optimset('OutputFcn',outputFcn,'TolX',TolX,'TolFun',TolFun, 'Display', 'iter');
% Options for fminsearch

estimated_lambda = fminsearch(@(x)fitfun_v2(x,t,y),start,options);

Brad Ridder

Its amazing in every way.
A gold-standard for user-submitted toolboxes.

A job well-done! Bravo!

Shahriar

Excellent toolbox! Very useful. Thanks!!

Xiao Ling

very useful tool! Thanks a lot

Melanie Mu

Great tool! It's almost perfect! I am only missing two things; I would really love if it could also:
1) fit data with error bars in both directions
2) display the errors associated with the fit parameter results.

anurag pandey

it's a fabulous tool bar, which solved my problem i was struggling to get done for quite some time. I have a query about it, that what you do if you want to fit just a part of your data(curve).

Oliver

Oliver (view profile)

Mathieu

This tool is excellent! It makes life so much easier!
Thanks Fred!!!!
And BRAVO!!!!

Arthur

Very usefull!

Ritesh

Ritesh (view profile)

Massimo

Dear Frederic,
is it possible to associate the error to the estimated parameters?
Thanks

ihsan

ihsan (view profile)

Great toolbox!!! Many Thanks.

Frederic Moisy

Frederic Moisy (view profile)

Dear Andres,

Problem #1: This occurs if y and dy are column vectors instead of row vectors. If this is the case, then just replace [y; dy] by [y, dy]

Problem #2: Move the equation box using the mouse.

-- The author

Andres Klever

Hi Frederic, well im sending you this mail because i have a problem with this tool, first of all say to you thanks for this tool i think that is really good, ok , so there are 2 problems:

1) i have a problem with the weight
In order to perform a weighted fit on this data, the vectors y and dy have to be merged into a 2-by-N matrix and given as the second input argument to ezfit. Compare the results for the usual and weighted fits:
fw = ezfit(x, [y;dy], 'exp');
showfit(fw,'fitcolor','red');
f = ezfit(x, y, 'exp');
showfit(f,'fitcolor','blue');
my problem is that when i do this (exactly the same) the data [y;dy] is from a different size than x, so obiously i get this error:

??? Error using ==> ezfit at 272
X and Y dimensions must agree.

if you can help me with this it would be great..

2)the other problem is that when i plot more than one fit for the same data, the plot just shows one legend that is pasted into the other legend, hahaha, so i just can see one of the 2 legends that should appear (showing me the different equations)...

ok, frederic sorry for asking you this questions but i really need to know this,

thanks very much,

Dave Robinson

Nice application, seems to do everything it says on the box

splendid tool. inclusion of statistical tests such as RMSE, t-statistics and R-squared statistics in ezyfit menu will enhance the functionality of the toolbox.

Excellent tool!

Andrew Barrow

Fantastic tool. This is incredibly useful. Especially if you use the "data paintbrush" tool in the figure window.

Arnold

Arnold (view profile)

Awesome toolbox. Instrumental in my research.

Roy

Roy (view profile)

Antony Lee

The package is really great! However, I would like to know whether it is possible to have some fixed parameter values when using ezfit, eg.
ezfit(x,y,'y(x)=a*x+b')
assuming that I know the actual value of a and want only the fit for b. (Of course if a=3 or some other value I could write ezfit(x,y,'y=3*x+b'), but I want to include this in a script, so a would be a variable...)

Farah

Farah (view profile)

I just downloaded this and it's great! Very easy to use and non-cluttered. 5 over 5! Is there any where I can obtain more in-depth information about how it works and what the output values really mean? That would be superb.

Thank you for this great toolbox

Florian

Sonali

Sonali (view profile)

Roy

Roy (view profile)

Thanos

Thanos (view profile)

Very useful and well explained. Thank you!

Cezar

Cezar (view profile)

Excellent tool! Many thanks!!!

Does it work with earlier versions of Matlab such as 6.5 ?

Janina

Janina (view profile)

Thierry Dalon -
No need to sling insults like a common blogger. I had assumed better of Matlab users. I am referring to the bug the Frederic Moisy himself identified - that it is difficult to remove the ezfit menu from previously saved figures. I have indeed removed the ezfit menu. I reloaded my figure generating scripts, and all was well. Thank you Frederic, for your feedback.

Frederic Moisy

Frederic Moisy (view profile)

(Sorry for the unintentional rating of my own file on my previous post!)

TO UNINSTALL THE EZYFIT TOOLBOX:
1. Edit the 'startup.m' file (type 'edit startup') and remove the 2 lines starting with 'efmenu' and 'fprintf()'
2. Go the menu 'File', 'Set Path', and remove the directory 'ezyfit'
3. Restart Matlab

CONCERNING THE ISSUE OF THE EZYFIT MENU IN SAVED FIGURES AND GUIs:
Sorry for this bug, I have no idea on how to fix it. Suggestions are welcome. Note that you can use the Ezyfit toolbox without using the Ezyfit menu. For this, apply step 1 above.

Hope this helps - The author.

Frederic Moisy

Frederic Moisy (view profile)

Timo

Timo (view profile)

Take a look at the known problems: "If the Ezyfit toolbox has been installed using efmenu, all GUI figure windows created using GUIDE have the Ezyfit menu included. Uninstalling the Ezyfit toolbox produces an error, since the GUI looks for the menu which is not available. No solution for the moment."
Using efmenu off does not remove the menus.
This is a clear minus for an otherwise very useful toolbox.

Thierry Dalon

Janina and Nirvikar: do not put bad ratings only because you don't know how to use Matlab. At least read the documentation before, contact the author before or ask for support in the Newsgroup. Your rating is not fair!
To remove the menu from figures use>> efmenu off. To remove the Toolbox simply remove from Matlab path or entry in startup file if you used efmenu install.

To the author : to avoid function naming conflicts, it may be better to name all the functions in the Toolbox with a common prefix like 'ef'.

Janina Madoff

impossible to remove their menu from your gui figures and uninstall cleanly

Chris Calvert

Just downloaded this, it looks great! Any functions I have tried (so far) work very easily and smoothly. Are there any plans to include lorentzian fitting in the tool box?

Jim S

Excellent and smooth!

Alex Liberzon

great support and improvements over the last two years.

M Lidierth

Used the GUI menu without any hitches. Intuitive and easy-to-use. Excellent.

P Jop

very usefull with command-line functions

? ?

Excellent

N Davidson

Simple to use and very useful.

Nirvikar Dashora

Please tell me how to Unistall the ezyfit toolbox from MATLAB.

Jason Ruth

Fantastic program, very straightforward and easy to use.

K E

Very helpful and intuitive.

sri murthy

Great alternative to cftool...excellent

P. Sci

R B

Very good and powerful toolbox

A Rose

Perfect! Just what I needed to estimate parameters for over 500 chick growth curves.

Mark Dean

Thank you for a useful and well writtten program!
I was able to write a small program to easily choose whether to fix or vary some of the fit parameters. It would be useful if this was included as standard.

m la

Joe M

Mickael PARIS

Hauke Schramm

andy yang

So splendid!

Chintan Trivedi

Alex Liberzon

Very useful.

Gilles Bertrand

A great tool! Fill a gap in matlab functionalities. Good interface, good integration into matlab, merci Frederic M.!!

Woody Schneider

Great, but it behaves sketchily on the Mac OS X Intel version...

D J

a nice tolbox...best alternative to matlab curve fitting toolbox which sadly doesnot come for student version of the software.

Andres Leal

Great software! I was able to do curve fits using custom equations that wouldn't be fitted with KaleidaGraph.

david abks

Great - well done!!!!!!!!

MArta Castillo

Excellent

Josiah Haswell

Fabulous

atanas atanasov

Matt Lopz

Excellent Utilty.

Andrew Isaacs

Excellent work. Did what I needed (multiple power terms) when no-one else could - at least for free. Easy to install and work with, and great solutions.

Ravi Prakash

Hi,
Its superb toolbox you ahve provided to Matlab users. I was struggling to fit a smooth curve for amplitude analysis of seismic data. This toolbox does it in fantastic way.
Thanks
Ravi

Jonas Semoi

Frederic Moisy

Dear D. Lueerssen, Thanks for your comment. The new version (2.10), submitted 30 oct 2006, now allows for specifying fit parameters programmatically. Example: showfit('a*x+b','fitcolor','red',...) - The author.

Dietrich Lueerssen

I do like this toolbox, and it works well for me. It is really useful that there are both a GUI and a programmatical access, well done.

I do have a suggestion for future versions: at the moment, parameters of the fit such as its color are hardcoded into a file (fitparam.m). It would be helpful to be able to control that programmatically, particularly if you want to show multiple fit curves for the same data set (e.g., to show that one fit is better than another one).

Blair Greenan

Excellent toolbox for curve fitting. Any questions I had were quickly answered by the author.

John D'Errico

While I did not try out the menu interface, the command line interface was indeed easy to use. A splendid tool.

Frederic Moisy

Dear Jack Chen,
This error does not occur with R14.
Some features of this toolbox (eg, nested functions) need R14. Sorry.

Jack Chen

Looks like a great free toolbox for matlab. However, I'm getting the following error:

>> efmenu install
??? Error using ==> load
Unable to read MAT file d:\matlab\easyfit\userfit.mat

Updates

2.44

Bug fixes (see the release notes)

2.43

v2.43: The Ezyfit menu is compatible with the new Graphics system of Matlab R2014b (8.4)

1.7

Bug fixed in 'efmenu install' for Windows users

1.6

1 additional minor bug fixed

1.5

2 minor bugs fixed

1.4

2 bugs fixed: fits in log coordinates now work correctly, and 'efmenu install' now compatible with Windows 7.

1.3

Bug fixed : the figure files (.FIG) and user interfaces (GUI) were corrupted with the Ezyfit menu. This issue has been fixed. See the new function "remove_efmenu_fig.m".

1.2

Added support to the "Data Brushing" tool (Matlab 7.6)

1.1

Now suport the "Data Brushing" tool of Matlab 7.6

New version 2.20. See release notes for details.

New version 2.10: See the 'release notes' page for changes.

help text improved

New version (2.04)
A FAQ is now included
Minor bugs fixed

The 'EasyFit' toolbox has been renamed 'EzyFit', in order to avoid confusion with other existing products.

Minor bugs fixed (see the release notes in the help browser)

minor bugs fixed (see the release notes in the help browser).

MATLAB Release
MATLAB 7.11 (R2010b)
Acknowledgements

Inspired: GraphScannerGUI

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today