matlab线性拟合最小二乘
时间: 2025-04-24 15:13:09 浏览: 25
### MATLAB 中使用最小二乘法进行线性拟合
在MATLAB中,`polyfit` 函数可用于执行多项式拟合,当指定一次项时即为线性拟合。此方法基于最小二乘原理寻找最优直线以匹配给定的数据点集[^1]。
下面是一个简单的例子展示如何利用 `polyfit` 实现一元线性回归:
```matlab
% 假设已知数据点如下
x = [0 0.3 0.7 1]; % 自变量向量
y = [-.9 -.18 .05 .24]; % 应变量向量
% 使用 polyfit 进行线性拟合 (degree=1 表示线性)
p = polyfit(x, y, 1);
% p(1) 是斜率 a;p(2) 是截距 b 对于形式 y=ax+b 的直线
disp(['The slope is ', num2str(p(1))]);
disp(['The intercept is ', num2str(p(2))]);
% 计算拟合后的 y 值
xfit = linspace(min(x), max(x));
yfit = polyval(p, xfit);
% 可视化原始数据及其对应的拟合曲线
figure;
plot(x, y, 'o'); hold on; grid on;
plot(xfit, yfit, '-r');
title('Linear Fit with Least Squares Method');
xlabel('Independent Variable X');
ylabel('Dependent Variable Y');
legend('Data Points','Fitted Line');
```
上述代码片段展示了完整的流程:准备样本数据 -> 调用 `polyfit` 得到参数估计 -> 构建预测模型 -> 结果可视化[^3]。
对于多维情况下的线性关系,则可采用 `regress` 来处理多个输入特征的情况。该函数能够解决形如 \(Y=X\beta+\epsilon\) 形式的多元线性回归问题,其中\(X\)代表设计矩阵而 \(\beta\) 则是要估算的系数向量。
阅读全文
相关推荐

















