I'm trying to use fit the data using this equation:
gaussFit = @(beta, stepFit) (beta(1).*(( ((stepFit./beta(2)).^4)/(1+((stepFit./beta(2)).^4))).*exp((-1).*(stepFit./beta(3))).*cos( (((2*pi).*stepFit)./beta(4)) + beta(5))));
initials = [-0.000006, 0.07, 0.06, 0.12, 0.15];
coeffs = lsqcurvefit(gaussFit, initials, stepFit, avgSPResp2);
(Data attached)
But it is giving me a staight line (which I'm guessing is because the initials are way off compared to the actual fit parameters. However, I've tried to estimate the parameters as much as possible looking at the data.
How do I address this issue?
Thanks!
3 Comments
Direct link to this comment
https://au.mathworks.com/matlabcentral/answers/507769-how-to-guess-initialization-parameters-for-non-linear-curve-fitting-with-nlinfit#comment_803600
Direct link to this comment
https://au.mathworks.com/matlabcentral/answers/507769-how-to-guess-initialization-parameters-for-non-linear-curve-fitting-with-nlinfit#comment_803600
Direct link to this comment
https://au.mathworks.com/matlabcentral/answers/507769-how-to-guess-initialization-parameters-for-non-linear-curve-fitting-with-nlinfit#comment_803602
Direct link to this comment
https://au.mathworks.com/matlabcentral/answers/507769-how-to-guess-initialization-parameters-for-non-linear-curve-fitting-with-nlinfit#comment_803602
Direct link to this comment
https://au.mathworks.com/matlabcentral/answers/507769-how-to-guess-initialization-parameters-for-non-linear-curve-fitting-with-nlinfit#comment_803608
Direct link to this comment
https://au.mathworks.com/matlabcentral/answers/507769-how-to-guess-initialization-parameters-for-non-linear-curve-fitting-with-nlinfit#comment_803608
Sign in to comment.