使用matlab做y=a+b/x类曲线拟合,求详细程序

x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15];
y=[5985 7817 5049 4162 1934 726 775 815 389 293 175 305 119 76 29];
使用matlab做曲线拟合,最好是y=a+b/x类的曲线。

>> fun=inline('c(1)+c(2)./x','c','x');
>>c=lsqcurvefit(fun,[10,20],x,y)
c =

1.0e+003 *

0.0464 8.4241
即a=464,b=8424.1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-23
令X=1/x,Y=y;y=a+b/x变为Y=a+b*X;
X=1/x;
Y=y;
polyfit(X,Y,1)