MATLAB 函数拟合:使用 5 阶多项式拟合 y = √x³ + x + 1 * sin(x) 并绘制图像
使用 MATLAB 拟合函数 y = √x³ + x + 1 * sin(x) 并绘制图像
本文将介绍如何使用 MATLAB 的 polyfit 函数对函数 y = √x³ + x + 1 * sin(x) (x 取值范围 [1, 2π]) 进行 5 阶多项式拟合,并绘制原始函数和拟合函数的图像。
代码实现
x = linspace(1, 2*pi, 100);
y = sqrt(x.^3 + x + 1) .* sin(x);
% 采用 5 阶多项式拟合
p = polyfit(x, y, 5);
% 计算多项式值
f = polyval(p, x);
% 绘制 y 和 f(x)
figure;
plot(x, y, 'b', 'LineWidth', 2);
hold on;
plot(x, f, 'r--', 'LineWidth', 2);
hold off;
legend('y', 'f(x)');
title('函数拟合');
xlabel('x');
ylabel('y');
代码解释
- 生成 x 取值范围:
x = linspace(1, 2*pi, 100)生成 100 个在 1 到 2π 之间的等间距点,作为 x 的取值。 - 计算 y 值:
y = sqrt(x.^3 + x + 1) .* sin(x)根据给定函数计算对应 x 的 y 值。 - 使用 polyfit 函数进行拟合:
p = polyfit(x, y, 5)使用polyfit函数对 x 和 y 数据进行 5 阶多项式拟合,得到多项式的系数向量p。 - 计算多项式值:
f = polyval(p, x)使用polyval函数根据系数向量p和 x 值计算多项式在 x 处的值,得到拟合曲线f(x)。 - 绘制图像: 代码使用
plot函数绘制原始函数y和拟合函数f(x)的图像,并添加标题、坐标轴标签和图例。
注意事项
- 您可以根据给定函数的特性和拟合结果的准确性,调整拟合多项式的阶数,以获得更好的拟合效果。
- 拟合结果的准确性取决于样本数据的数量和分布,以及拟合多项式的阶数。
希望本文能帮助您理解如何使用 MATLAB 进行函数拟合和图像绘制。如果您有任何问题,欢迎在评论区留言。
原文地址: http://www.cveoy.top/t/topic/bQUd 著作权归作者所有。请勿转载和采集!