登录论坛

查看完整版本 : [MATLAB数学相关] 关于最小二乘法曲线拟合问题


fys823
2011-04-23, 09:52
大家好:在曲线拟合时出现的问题.下面是操作
>>x=[15,20,25,30,35,40,45,50,75,100,115,120,130,150,160,180];
>>y=[225.2,246.7,273.8,296.9,319.7,339.1,375.2,400.1,550,641.5,699.2,714.4,748.9,839,880.4,978.9];
>>p=polyfit(x,y,4);得到下面的多项式系数
p =

0.0000 -0.0005 0.0550 3.1597 165.2783
可以画出图形
>> x1=15:2.5:180;
>> y1=polyval(p,x1);
>> plot(x,y,'--rs',x1,y1,':gp')
从图形上看拟合的很好,可是我在EXECEL里根据得出的系数,建立多项式计算公式,最后偏差很大,如下列值。从75以后,误差很大,还有负值,这是为什么,怎么矫正。
实际值 拟合值
15 225.2 223.3613
20 246.7 246.4723
25 273.8 270.8333
30 296.9 296.0693
35 319.7 321.8053
40 339.1 347.6663
45 375.2 373.2773
50 400.1 398.2633
75 550 500.6933
100 641.5 531.2483
115 699.2 495.5813
120 714.4 472.4423
130 748.9 407.0393
150 839 189.2333
160 880.4 30.8303
180 978.9 -399.9757