我用matlab的polyfit函数拟合出来了函数,但是我再把某个变量代入进去,结果却很离谱,是为什么?

2020-06-16 财经 123阅读

对于时间序列预测问题,不能用年份来作为拟合基数,应按自然序列作为拟合基数。即x=[1,2,3,4,5]——对应于2010,2011,2012,2013,2014。所以你的部分代码应改为

x=[1,2,3,4,5];

y=[0.235,0.525,0.623,0.532,0.439];

plot(x,y,'rp'),hold on

p=polyfit(x,y,3);

运行得到

p =

0.015833     -0.21071      0.82445      -0.3972

2015年:0.3838

>> 0.015833*6^3-0.21071*6^2+0.82445*6-0.3972  %验算2015年

ans =      0.38387

2016年:0.4798

>> 0.015833*7^3-0.21071*7^2+0.82445*7-0.3972  %验算2016年

ans =      0.47988

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com