x=[9,13,15,17,18.6,20,23,29,31.7,35];
y=[-8,-6.45,-5.1,-4,-3,-1.95,-1.5,-0.4,0.2,-0.75];
subplot(3,1,1);
plot(x,y,'o');
title("Sample");
hold on
coefficient = polyfit(x,y,1)
y1 = polyval(coefficient,x);
subplot(3,1,2);
plot(x,y,'o', x, y1,'-')
title(sprintf("y=%f*x + %f", coefficient(1), coefficient(2)));
hold on
coefficient = polyfit(x,y,2);
y1 = polyval(coefficient,x);
subplot(3,1,3);
plot(x,y,'o', x, y1,'-');
title(sprintf("y=%f*x*x + %f*x + %f", coefficient(1), coefficient(2), coefficient(3)));
记为矩阵形式 A X = F 和 Y
这里A为自变量x的矩阵,是拟合系数向量,是因变量y的拟合值向量,是因变量有的观测值向量,所以拟合残差/估计误差写作
。
求最小化残差的拟合系数,即,又已知的极值点取得的最小值,下面求此时的拟合系数向量:
根据矩阵求导法则,,,化简上式。得到