如何在MATLAB中执行线性回归(线性拟合)并获取最佳拟合直线?
时间: 2024-10-19 14:06:03 浏览: 441
MATLAB - polyfit()多项式曲线拟合(线性拟合线性回归)
在MATLAB中执行线性回归(线性拟合),通常使用`polyfit`函数来进行数据点的拟合,并通过`plot`和`polyval`函数绘制最佳拟合直线。以下是基本步骤:
1. **准备数据**:假设你已经有了两个变量的数据,比如自变量`x`和因变量`y`。
```matlab
x = ... % 自变量向量
y = ... % 因变量向量
```
2. **拟合直线**:使用`polyfit`函数,它会返回一个多项式的系数向量,这里我们一般会选择一次多项式(即线性回归),所以系数向量长度为2。
```matlab
p = polyfit(x, y, 1); % 返回斜率和截距
```
3. **评估模型**:你可以用拟合得到的系数计算出拟合的直线方程,如`y = p(1)*x + p(2)`。
4. **绘制数据和拟合线**:使用`polyval`对所有`x`值计算对应的`y`值,然后用`plot`绘制原始数据和拟合线。
```matlab
x_fit = linspace(min(x), max(x)); % 创建自变量的均匀网格
y_fit = polyval(p, x_fit); % 计算拟合值
figure; % 新建图形窗口
scatter(x, y, 'filled'); % 绘制散点图
hold on; % 保持当前绘图状态
plot(x_fit, y_fit, '-r', 'LineWidth', 2); % 绘制拟合线
hold off; % 解除绘图状态
xlabel('X轴'); % 添加坐标轴标签
ylabel('Y轴');
title('线性回归拟合');
```
阅读全文