最小二乘法直线拟合原理--最小二乘算法原理、来源及其Matlab实现(直线拟合) - 知乎
对于下列表格用最小二乘法拟合直线
matlab代码如下:
clear all
% 生成离散点
t = [19.1 25.0 30.1 36.0 40.0 45.1 50.0];
r = [76.3 77.8 79.75 80.80 83.35 83.90 85.10];
% 构造参数矩阵
A = ones(7,2);
A(:,2) = t';
% 参数初值
a = 0; %平均速度
b = 0; %初始位置
% 误差值
l = r - (b + a*t);
% 解算参数
for i = 1:7
dX = inv(A'*A)*A'*l';
b = b + dX(1);
a = a + dX(2);
l = r - (b + a*t);
end
% 成图,红色‘+’为生成的离散点,黑色直线为最小二乘拟合直线
plot(t,r,'r+',t,b+a*t,'k')
xlabel('温度T')<