最小二乘法matlab
时间: 2023-09-23 18:03:27 浏览: 30
最小二乘法是一种常见的回归分析方法,它可以用来解决数据拟合问题。在 MATLAB 中,可以使用 `polyfit` 函数来实现最小二乘法。
具体步骤如下:
1. 准备数据。假设有 $n$ 个数据点 $(x_1, y_1), (x_2, y_2), \cdots, (x_n, y_n)$。
2. 使用 `polyfit` 函数进行拟合。该函数的使用格式为:
```
p = polyfit(x, y, m)
```
其中,$x$ 和 $y$ 分别为数据点的横坐标和纵坐标,$m$ 为拟合多项式的次数。函数会返回一个向量 $p$,其中包含了拟合多项式的系数。
3. 使用 `polyval` 函数进行预测。该函数的使用格式为:
```
yfit = polyval(p, x)
```
其中,$p$ 为拟合多项式的系数,$x$ 为要预测的横坐标。函数会返回一个向量 $yfit$,其中包含了预测的纵坐标。
下面是一个简单的例子,演示如何使用最小二乘法拟合一组数据:
```matlab
% 准备数据
x = [1, 2, 3, 4, 5];
y = [1.1, 3.2, 6.5, 9.8, 15.1];
% 使用最小二乘法拟合
p = polyfit(x, y, 1);
% 使用拟合结果进行预测
yfit = polyval(p, x);
% 绘制原始数据和拟合结果的图像
plot(x, y, 'o', x, yfit, '-')
legend('原始数据', '拟合结果')
```
运行以上代码,会得到如下的图像:
![最小二乘法拟合示例图像](https://img-blog.csdn.net/20180519163404354)
在本例中,使用 `polyfit` 函数进行一次多项式拟合,得到的拟合结果为 $y = 2.98x - 1.04$。然后使用 `polyval` 函数进行预测,并将原始数据和拟合结果绘制在同一张图像中。可以看到,拟合结果基本符合原始数据的趋势。