Best tool to calculate the parameters of a custom equation fit
9 次查看(过去 30 天)
显示 更早的评论
Hello,
There are quite a bit merhods/tools to fit an custom equation to the experimantal data. I am struggling to use the right one (I tried many of them and eventually decided to ask to an expert). My custom equation is (a+b/x^2)*exp(-x/c). What is the best way to find a,b and c if you really don't know what the starting parameter values are.
Thank you
Birsen
0 个评论
采纳的回答
Matt J
2022-7-7
编辑:Matt J
2022-7-7
For your particular equation, I'd rcommend,
[a,b,c]=deal(3,2,1)
x=linspace(1,2,30); %fake data
y=a+b./x.^2.*exp(-x/c);
funlist={1,@(c,x) exp(-x/c)./x.^2};
[c,ab]=fminspleas(funlist,2, x,y);
a=ab(1), b=ab(2),c %fitted values
yfit=a+b./x.^2.*exp(-x/c);
plot(x,y,'x',x,yfit); legend('Sample Data','Fit')
2 个评论
Matt J
2022-7-11
编辑:Matt J
2022-7-14
Would it be the same with the updated equation?
I don't see any change in the equation since I posted. But yes, the fminspleas algorithm only iterates over c (and only requires an initial guess for c) in your case, because that is the only parameter that the model equation has a nonlinear dependence. on.
更多回答(1 个)
Kevin Holly
2022-7-7
Have you tried using the Curve Fitting Toolbox? You can fit your custom equation to a set of data and it will provide you with the coefficients that provide the best fit along with statistical metrics and a plot.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!