用matlab已知向量x和y,其中x=[1,2,4,7,9,12,13,15,17],y=[1.5,3.9,6.6,11.7,15.6,18.8,19.6,20.6,21.1],y值随x值的变化而变化。请分别用3次和5次多项式进行拟合,并绘制拟合曲线
时间: 2024-05-24 17:12:29 浏览: 129
Conditional entropy.rar_R语言求条件熵_recentlyiss_条件熵MATLAB_计算H(Z|X)_计
5星 · 资源好评率100%
3次多项式拟合:
```matlab
x = [1,2,4,7,9,12,13,15,17];
y = [1.5,3.9,6.6,11.7,15.6,18.8,19.6,20.6,21.1];
p3 = polyfit(x, y, 3); % 3次多项式拟合
x_fit = linspace(min(x), max(x), 100); % 生成拟合曲线的x坐标
y_fit = polyval(p3, x_fit); % 计算拟合曲线的y坐标
figure;
plot(x, y, 'o'); % 绘制原始数据点
hold on;
plot(x_fit, y_fit); % 绘制拟合曲线
xlabel('x');
ylabel('y');
legend('原始数据', '3次多项式拟合');
```
拟合曲线如下图所示:
![3次多项式拟合](https://i.loli.net/2021/11/01/1vMgRZJxO7cGr4S.png)
5次多项式拟合:
```matlab
x = [1,2,4,7,9,12,13,15,17];
y = [1.5,3.9,6.6,11.7,15.6,18.8,19.6,20.6,21.1];
p5 = polyfit(x, y, 5); % 5次多项式拟合
x_fit = linspace(min(x), max(x), 100); % 生成拟合曲线的x坐标
y_fit = polyval(p5, x_fit); % 计算拟合曲线的y坐标
figure;
plot(x, y, 'o'); % 绘制原始数据点
hold on;
plot(x_fit, y_fit); % 绘制拟合曲线
xlabel('x');
ylabel('y');
legend('原始数据', '5次多项式拟合');
```
拟合曲线如下图所示:
![5次多项式拟合](https://i.loli.net/2021/11/01/Ks8W3X9JvCfhLbt.png)
阅读全文