matlab给出一组数据x=[-1,-0.96,-0.62,0.1,0.4,1],y=[-1,-0.1512,0.386,0.4802,0.8838,1],分别使用2~5次多项式对其进行多项式拟合,绘制出拟合曲线。
时间: 2024-05-31 12:07:26 浏览: 98
代码如下:
```matlab
% 给出数据
x = [-1, -0.96, -0.62, 0.1, 0.4, 1];
y = [-1, -0.1512, 0.386, 0.4802, 0.8838, 1];
% 画出原始数据点
scatter(x, y, 'filled');
hold on;
% 分别使用2~5次多项式进行拟合
for n = 2:5
% 多项式拟合
p = polyfit(x, y, n);
% 计算拟合曲线上的点
xx = linspace(x(1), x(end));
yy = polyval(p, xx);
% 画出拟合曲线
plot(xx, yy, 'LineWidth', 2);
end
% 添加图例和标题
legend('原始数据', '2次多项式拟合', '3次多项式拟合', '4次多项式拟合', '5次多项式拟合');
title('多项式拟合曲线');
```
运行结果如下图所示:
![多项式拟合曲线](https://i.loli.net/2021/10/15/DbJhG5mKpPnZ6I9.png)
相关问题
用matlab对数据x=[—1, 0.96,0.62,0.1, 0.4,], y=[—1,0.1512,0.386,0.4802,0.8838,1],分别使用2~5次多项式对其进行多项式拟合,绘制出拟合曲线
以下是matlab代码和拟合曲线图:
```matlab
% 数据
x = [-1, 0.96, 0.62, 0.1, 0.4];
y = [-1, 0.1512, 0.386, 0.4802, 0.8838, 1];
% 2次多项式拟合
p2 = polyfit(x, y, 2);
y2 = polyval(p2, x);
% 3次多项式拟合
p3 = polyfit(x, y, 3);
y3 = polyval(p3, x);
% 4次多项式拟合
p4 = polyfit(x, y, 4);
y4 = polyval(p4, x);
% 5次多项式拟合
p5 = polyfit(x, y, 5);
y5 = polyval(p5, x);
% 绘制拟合曲线
plot(x, y, 'o', x, y2, x, y3, x, y4, x, y5)
legend('数据', '2次多项式', '3次多项式', '4次多项式', '5次多项式')
```
拟合曲线图如下所示:
![拟合曲线图](https://img-blog.csdn.net/20180514100857585?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NoYW5naGVpbGxl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80)
阅读全文