Main Content

多项式曲线拟合

此示例说明如何使用 polyfit 函数将多项式曲线与一组数据点拟合。您可以按照以下语法,使用 polyfit 求出以最小二乘方式与一组数据拟合的多项式的系数

p = polyfit(x,y,n),

其中:

  • xy 是包含数据点的 xy 坐标的向量

  • n 是要拟合的多项式的次数

创建包含五个数据点的 x-y 测试数据。

x = [1 2 3 4 5]; 
y = [5.5 43.1 128 290.7 498.4];

使用 polyfit 求与数据近似拟合的三次多项式。

p = polyfit(x,y,3)
p = 1×4

   -0.1917   31.5821  -60.3262   35.3400

使用 polyfit 获取拟合线的多项式后,可以使用 polyval 计算可能未包含在原始数据中的其他点处的多项式。

在更小域内计算 polyfit 估计值,并绘制实际数据值的估计值以进行对比。可以为拟合线包含方程注释。

x2 = 1:.1:5;
y2 = polyval(p,x2);
plot(x,y,'o',x2,y2)
grid on
s = sprintf('y = (%.1f) x^3 + (%.1f) x^2 + (%.1f) x + (%.1f)',p(1),p(2),p(3),p(4));
text(2,400,s)

Figure contains an axes object. The axes object contains 3 objects of type line, text. One or more of the lines displays its values using only markers

另请参阅

|

相关主题