x=[-2,-1,0,1,2] y=[-1,-1,0,1,1]在matlab中用最小二乘法拟合怎么做,希望得到帮助,谢谢

2024-11-25 23:38:27
推荐回答(2个)
回答1:

x=[-2,-1,0,1,2];
y=[-1,-1,0,1,1];
P3=polyfit(x,y,3);%求x,y的3次拟合多项式,可以改成其他的次数
P10=polyfit(x,y,10);%10次拟合,也可改
y3=polyval(P3,x);%求3次拟合的图像
y10=polyval(P10,x)%求10次拟合的图像
plot(x,y,'o');%用离散点o显示原始数据
hold on
plot(x,y3,'k-');%用黑色实线显示3次拟合的曲线
plot(x,y10,'b:');
legend('原始数据','3次拟合曲线','10次拟合曲线');
xlabel('x');
xlabel('y');
title('数据拟合曲线');
看不懂可以加QQ交流:361031341,你的这个数据比较少,3次拟合就已经很好了,所以两条曲线重一起了。你可以试一下两次拟合是有偏差的。

回答2:

这个我也不会啊。。。不好意思啊