matlab中polyfit 函数如何画一系列散点图的拟合直线
时间: 2023-09-15 11:22:26 浏览: 84
基于matlab中polyfit函数代码进行拟合
要画出一系列散点图的拟合直线,可以使用循环来遍历每个数据集,并使用polyfit和polyval函数来拟合数据并计算拟合曲线上每个点的y值。然后使用plot函数将每个数据集的数据点和拟合曲线绘制出来。
以下是一个示例代码:
```matlab
% 生成数据
x1 = 0:0.1:2*pi;
y1 = sin(x1) + 0.1*randn(size(x1));
x2 = 0:0.1:2*pi;
y2 = cos(x2) + 0.1*randn(size(x2));
% 设置拟合阶数
n = 1;
% 遍历每个数据集
figure;
hold on;
for i = 1:2
% 拟合数据
if i == 1
x = x1;
y = y1;
color = 'r';
else
x = x2;
y = y2;
color = 'b';
end
p = polyfit(x, y, n);
% 计算拟合曲线上每个点的y值
y_fit = polyval(p, x);
% 绘制数据点和拟合曲线
plot(x, y, ['o' color]);
plot(x, y_fit, ['-' color]);
end
legend('Data 1', 'Fit 1', 'Data 2', 'Fit 2');
```
在这个示例中,我们生成了两个数据集,然后使用循环遍历每个数据集,分别拟合数据并计算拟合曲线上每个点的y值。最后,使用plot函数将每个数据集的数据点和拟合曲线绘制出来,并在图例中标注每个数据集的名称。你可以根据需要调整拟合阶数和数据集的数量,以获得适合你的拟合效果。
阅读全文