我用matlab的polyfit函数拟合出来了函数,但是我再把某个变量代入进去,结果却很离谱,是为什么?
图像是这样函数是这个但是我把x换成2015代入这个函数的时候,却给我这个数WHY???怎么着得3.7左右吧,咋还出来个负数?...
图像是这样
函数是这个
但是我把x换成2015代入这个函数的时候,却给我这个数
WHY???
怎么着得3.7左右吧,咋还出来个负数? 展开
函数是这个
但是我把x换成2015代入这个函数的时候,却给我这个数
WHY???
怎么着得3.7左右吧,咋还出来个负数? 展开
1个回答
展开全部
对于时间序列预测问题,不能用年份来作为拟合基数,应按自然序列作为拟合基数。即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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询