matlab曲线拟合求参数,需要程序

t=[1,2,3,4,5,6,7,8,9,10];
y=[253.3,251.5,251.2,251,250.9,250.8,250.6,250.6,250.5,250.4];
拟合曲线方程为y=c0+c1exp(-t/a1)+c2exp(-t/a2),想求出参数c0,c1,c2,a1,a2,这5个参数值,且这些参数值没有初值,求助大家,帮下忙!谢谢

你在matlab下的commend window里输入cftool,然后在x data下选择t在y data下选择y。接着在右边的下拉框里选择custom equation,在custom equation下面输入c0+c1*exp(-x/a1)+c2*exp(-x/a2),然后它就输出结果了(cftool的左下边会出来结果)。我算的结果是a1=0.03832;a2=1.194;c0=250.6;c1=-0.928;c2=6.035;R方是0.9653. (你还可以在fit option里选择算法,推荐LM算法)。希望采纳哦!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-04-14
t=[1,2,3,4,5,6,7,8,9,10];
y=[253.3,251.5,251.2,251,250.9,250.8,250.6,250.6,250.5,250.4];
syms x
f=fittype('c0+c1*exp(-x/a1)+c2*exp(-x/a2)','independent','x','coefficients',{'c0','c1','c2','a1','a2'});
cfun=fit(t',y',f)

cfun =

General model:
cfun(x) = c0+c1*exp(-x/a1)+c2*exp(-x/a2)
Coefficients (with 95% confidence bounds):
c0 = 145.3 (-2.919e+05, 2.922e+05)
c1 = 659 (-1.055e+08, 1.055e+08)
c2 = -552.6 (-1.058e+08, 1.058e+08)
a1 = 42.66 (-7.557e+05, 7.558e+05)
a2 = 35.5 (-5.319e+05, 5.32e+05)
相似回答