请各位高手帮我用matlab进行非线形回归,解出下面这个方程的参数!很急,非常感谢!

已知x=[-0.00657、-0.01209、-0.01892、-0.0257、-0.03348、-0.04063、-0.04886、-0.05555、-0.06307、-0.07003、-0.07821、-0.08602、-0.09509、-0.10393、-0.11152、-0.11814、-0.12642、-0.13511、-0.1426、-0.15097、-0.15877、-0.16598、-0.17356、-0.18152、-0.18695、-0.19423、-0.20162、-0.20987、-0.21575、-0.2229];
y=[-23.0208、-28.2659、-33.0657、-37.4202、-41.3294、-44.7933、-47.7645、-49.9234、-51.7163、-53.1964、-54.7502、-56.4277、-58.0113、-59.5297、-60.9221、-62.0972、-63.3151、-64.5636、-65.7548、-66.8728、-67.9069、-68.7356、-69.5286、-70.2246、-70.6974、-71.1571、-71.54、-71.7992、-71.9174、-71.962];
方程y^2=a*exp(-c*x)+b
希望各位高手能用matlab求出a、b、c三个参数,不胜感激!

y^2=a*exp(-c*x)+b
1. 先对方程两边求对数,化成线性的(以对数为变量)
得到
2lny=lna-cx+lnb
现在问题就转化为求,用线性最小二乘就能搞定了。
x=[-0.00657,-0.01209,-0.01892,-0.0257,-0.03348,-0.04063,-0.04886,-0.05555,-0.06307,-0.07003,-0.07821,-0.08602,-0.09509,-0.10393,-0.11152,-0.11814,-0.12642,-0.13511,-0.1426,-0.15097,-0.15877,-0.16598,-0.17356,-0.18152,-0.18695,-0.19423,-0.20162,-0.20987,-0.21575,-0.2229];
y=[-23.0208,-28.2659,-33.0657,-37.4202,-41.3294,-44.7933,-47.7645,-49.9234,-51.7163,-53.1964,-54.7502,-56.4277,-58.0113,-59.5297,-60.9221,-62.0972,-63.3151,-64.5636,-65.7548,-66.8728,-67.9069,-68.7356,-69.5286,-70.2246,-70.6974,-71.1571,-71.54,-71.7992,-71.9174,-71.962];
lny=log(abs(y));
coef=[ones(length(y),1),ones(length(y),1),-x']\(2*lny');
lna=coef(1);
lnb=coef(2);
c=coef(3);
a=exp(lna);
b=exp(lnb);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-31
Coefficients (with 95% confidence bounds):
a = 1.009e+04 (-1.636e+04, 3.654e+04)
b = -9311 (-3.618e+04, 1.755e+04)
c = 1.91 (-2.156, 5.975)
相似回答