Parameters to consider in non linear curve fitting

1 view (last 30 days)
I have a complex (sum and multiplication of several elementary functions) function to fit with experimental data, but I could not reach the desired fit, the program does his work but the parameters are far from what they should be, I noticed that if I change the lb or ub it changes the results also if I change Beta0 it also affects the results. I need help and advise on the factors that I should consider to have the best fit
note: the experimental data are about 6000 points, I have around 15 parameters to find
thanks in advance

Accepted Answer

Star Strider
Star Strider on 1 Mar 2014
Without knowing more, I suggest you choose Beta0 to be close to what you expect the parameters to be as you can. I also suggest not restricting the parameters with lb and ub unless you know that, for instance, they must be positive or if you already know they should not exceed a specific value.
Fitting so many parameters will give any solver problems. Consider reducing them if you can.
  2 Comments
Zine
Zine on 2 Mar 2014
Thanks Star, I tried this idea and it makes the values closer, thanks for that, but in some cases it creates complex numbers, so how to impose real values only so the program will not search in complex numbers, I should find as result only real results (no imaginary parts)
note: the modules of my complex results are very close to what I want to have
Star Strider
Star Strider on 3 Mar 2014
Edited: Star Strider on 3 Mar 2014
The only way I can think of to force real numbers is for the last lines of your objective function to return them as reals. For instance:
function (p,x) = fun(p,x)
(code)
p = abs(p);
end
That’s not recommended, but it is probably an experiment you can do to force the returned parameters to be real. If it fails to converge to what you consider a ‘correct’ solution, you can always remove the ’abs’ line and live with complex parameter estimates.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 1 Mar 2014
Yeah, I don't know either from this description, so I'll just put in a plug for John's masterpiece: http://www.mathworks.com/matlabcentral/fileexchange/24443-slm-shape-language-modeling
Description
If you could only download one curve fitting tool to your laptop on a desert island, this should be it.
For many years.......
  4 Comments
Image Analyst
Image Analyst on 1 Mar 2014
John has lots of good ones I use: allwords, polyfitn (to do background correction of images), suite of min bounding objects, etc. It's worth everyone looking over his impressive File Exchange. There's something there for just about everybody.
Star Strider
Star Strider on 1 Mar 2014
I’ll search on his name from the link you provided. Thanks again.
(I’m just happy when someone occasionally downloads polyparci!)

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!