matlab最小二乘法拟合曲线代码
时间: 2023-08-30 18:11:38 浏览: 115
matlab中实现最小二乘拟合函数曲线.zip.zip
以下是使用 MATLAB 进行最小二乘法拟合曲线的示例代码:
假设有一组数据 (x,y),需要拟合成一个多项式函数。
```matlab
% 假设有一组数据 (x,y)
x = [1 2 3 4 5];
y = [0.5 2.5 2 4.5 3.5];
% 定义多项式的最高次数
n = 2;
% 构造矩阵 X 和向量 Y
X = zeros(length(x), n+1);
for i = 0:n
X(:, i+1) = x.^i;
end
Y = y';
% 计算最小二乘解
coef = inv(X'*X)*X'*Y;
% 绘制拟合的曲线
xx = linspace(min(x), max(x), 100);
yy = zeros(size(xx));
for i = 0:n
yy = yy + coef(i+1)*xx.^i;
end
plot(x, y, 'o', xx, yy, '-')
```
上面的代码中,首先定义了多项式的最高次数,然后根据数据构造了矩阵 X 和向量 Y。接着使用最小二乘法求解系数 coef。最后根据系数 coef 绘制出拟合的曲线。
阅读全文