matlab利用最小二乘法拟合曲线

2024-12-05 05:18:10
推荐回答(2个)
回答1:

clear;close all;
x=3:8;
y=[5.6 5.81 6.01 6.27 6.55 5.96];
xnum=length(x);
p1=polyfit(x,y,4);
plot(x,y,'o'),hold on;
newx=3:0.01:8;
newy=polyval(p1,newx);
plot(newx,newy,'r'),grid on,hold off;

回答2:

最小二乘法不难, 就是一个目标函数求极值问题,
目标函数是 err0=(5.6-f(3))^2+(5.81-f(4))^2+...+(5.96-f(8))^2
erro函数再对a0,a1,... ^a4 求导,令倒数为零即可。