How to stop nonlinear fitting and obtain the results of fitting at that iteration
6 views (last 30 days)
Show older comments
Dear all,
I am doing a non linear fittig of data to a function. It takes a lot of time for each iteration since it involve also action to external file.
As the title says, do you know how to stop nonlinear fitting iteration at certain point, and obtain the results of fitting at that iteration.
Wiht the result I mean like goodness of fitting, confidence interval, jacobian, etc.. etc.. all this thigs that matlab fitting usually provide at the end of the fitting.
I tried to manually stop the fitting with ctrl+break but I lose the above mentioned results.
Thank you very much in advance.
0 Comments
Answers (4)
Sargondjani
on 24 Jul 2012
Edited: Sargondjani
on 24 Jul 2012
im no expert on this (sorry) but did you try the 'output' function thingy... i know for most optimizers there is such a thing. it should be able to get the results of each iteration and put them somewhere i guess.
if you cant find it pls tell me which function you are using, then i can have a look there
0 Comments
Star Strider
on 24 Jul 2012
Edited: Star Strider
on 24 Jul 2012
You probably need to add an ‘options’ structure to your main routine before calling your curve-fit function, to limit the number of function iterations to less than the default. For ‘lsqcurvefit’ this is ‘optimset’, and for ‘nlinfit’ it is ‘statset’. The options you need to add are 'MaxIter', 'MaxFunEvals', or both. To find out what the defaults are, type ‘optimset’ or ‘statset’ at the command line without either input or output arguments (and without the quotes). Then follow the documentation to create your own options structure with the number of iterations or function evaluations you want.
0 Comments
Sargondjani
on 25 Jul 2012
the display iter only displays something after an iteration is complete (after all function evaluations of that iteration are done)
i doubt if there is a built in solution to solve this. however, you can get the code of the function 'nlinfit' if you do "type nlinfit" then you can copy-paste the code, adjust it to your needs, and save it as a function nlinfit_2
0 Comments
See Also
Categories
Find more on Least Squares in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!