matlab最小二乘法拟合直线
时间: 2023-08-24 20:08:11 浏览: 119
lsmatlab_最小二乘法拟合_
使用最小二乘法拟合直线可以通过以下步骤实现:
1. 定义数据点的坐标和数量。例如,假设有n个数据点,将它们表示为(x1, y1), (x2, y2), ... (xn, yn)。
2. 计算x和y的平均值,即x_bar和y_bar。这可以使用MATLAB的mean函数轻松实现。
3. 计算斜率b。使用公式b = (sum((xi - x_bar) * (yi - y_bar))) / (sum((xi - x_bar)^2))。
4. 计算截距a。使用公式a = y_bar - b * x_bar。
5. 使用斜率和截距来创建拟合直线方程。例如,y = a + b * x。
下面是一个MATLAB示例代码,演示如何使用最小二乘法拟合直线:
```
% 定义数据点
x = [1, 2, 3, 4, 5];
y = [2.5, 3.7, 4.1, 4.8, 5.6];
% 计算平均值
x_bar = mean(x);
y_bar = mean(y);
% 计算斜率和截距
b = sum((x - x_bar) .* (y - y_bar)) / sum((x - x_bar).^2);
a = y_bar - b * x_bar;
% 创建拟合直线方程
fit_line = @(x) a + b * x;
% 绘制原始数据和拟合直线
figure;
scatter(x, y);
hold on;
fplot(fit_line, [min(x), max(x)]);
xlabel('x');
ylabel('y');
legend('Data Points', 'Fit Line');
```
运行示例代码后,将显示原始数据和拟合直线。
阅读全文