写一个最小二乘系数矩阵拟合的matlab代码
时间: 2024-02-12 13:39:14 浏览: 75
最小二乘 拟合 matlab
假设我们有一个数据集,其中包含一些点的x和y坐标。我们希望使用最小二乘法拟合一个一次多项式(即直线)来拟合这些点。我们可以使用以下matlab代码来实现:
```matlab
% 输入数据
x = [0 1 2 3 4 5 6 7 8 9];
y = [1.1 2.0 1.6 4.8 5.0 7.0 6.5 7.8 9.0 10.3];
% 构造矩阵 A 和向量 b
A = [x' ones(size(x'))];
b = y';
% 使用最小二乘法计算系数矩阵 c
c = (A'*A)\(A'*b);
% 使用系数矩阵 c 计算拟合直线的 y 坐标
y_fit = c(1)*x + c(2);
% 绘制原始数据和拟合直线
plot(x, y, 'ro', x, y_fit, 'b-');
legend('原始数据', '拟合直线');
```
在这个代码中,我们首先输入了数据点的x和y坐标。然后,我们构造了一个矩阵A和一个向量b,这些矩阵和向量将用于计算系数矩阵c。我们使用最小二乘法计算系数矩阵c,然后使用该矩阵计算拟合直线的y坐标。最后,我们使用plot函数将原始数据和拟合直线绘制在同一张图上,并添加了一个图例。
阅读全文