这里有26个数据怎样用MATLAB拟合??

来源:百度知道 编辑:UC知道 时间:2024/05/14 07:19:25
x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26]
y=[2.2 2.7 3.3 3 3.4 4.4 5.6 6.5 6.2 6.5 6.9 6.5 7.1 8.7 8.3 8.5 7.7 7.1 6.3 4.9 4.6 4 2.4 1.2 1 -1.6]
polyfit我用过 效果很不好 有没有其他方法

不是说效果不好。
你看你的图形,

我是这样觉得的。
你先将你的xy画出来,然后觉得用一次二次三次四次合适(次数太高的话,会有龙格现象)

plot(x,y,'*')%我觉得这个图形有点像向下开口的抛物线。
p=polyfit(x,y,2);
yy=polyval(p,x);
hold on
plot(x,yy,'r')

其实我觉得拟合最大的难度在于,你要用什么形式来拟合,指数,还是多项式,还是别的。

MATLAB中拟合的语句是polyfit(x,y,n)