购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4.3 多项式拟合

1.多项式拟合

多项式拟合的方法有两种:

(1)方法一:由矩阵除法解超定方程组得到多项式拟合系数;

(2)方法二:直接调用内置函数polyfit,得到降幂形式的多项式拟合系数。

2.多项式拟合的具体形式

(1)方法一:已知需进行多项式拟合的 n 组数( x i y i ), i =1,2,…, n ,由矩阵除法求解超定方程组得到 m m n )阶多项式的拟合系数 A =[ a 0 a 1 ,…, a m ]:

(2)方法二:已知需进行多项式拟合的 n 组数( x i y i ), i =1,2,…, n ,调用内置函数polyfit进行 m m n )阶多项式拟合,得到拟合系数向量 p ,具体形式为: p =polyfit( x y m ),或[ p s ]=polyfit( x y m ),或[ p s mu ]=polyfit( x y m )。

2.17 多项式拟合:用五阶多项式对[0, /2]上的正弦函数进行最小二乘拟合,分别采用矩阵除法解超定方程组、调用函数polyfit实现,并给出拟合结果图示。

基于区间[0, /2]上的正弦函数 y =sin( x ),取从 0 到 /2、间隔 /20 的 11 个等间距离散点 x i 及其函数值 y i 为已知数据( x i y i ), i =1,2,…,11,见表 2-2。

表 2-2 离散点 x 及其正弦函数值 y

采用矩阵除法解超定方程组、调用函数polyfit实现五阶多项式的正弦函数拟合,编制的Matlab程序见ex2_17.m。运行程序ex2_17.m,得到拟合结果图 2-4。

方法一:矩阵除法解超定方程组。

求得五阶多项式的六个系数 a 0 a 1 a 2 a 3 a 4 a 5

方法二:直接调用内置函数polyfit( x y ,5),实现五阶多项式的拟合,求得多项式拟合的六个系数 a 0 a 1 a 2 a 3 a 4 a 5

编制的Matlab程序ex2_17.m如下。

在Matlab命令行窗口运行ex2_17.m程序,得到如下所示的多项式拟合结果。可以看出,两种方法得到的五阶多项式拟合系数 p 1 和 p 2 一致。在已知数据点区域[0, /2]范围内,拟合曲线与正弦函数曲线一致;但已知数据点超出该范围,拟合曲线则偏离了正弦函数曲线,拟合曲线失真。

图 2-4 区间[0, /2]的正弦函数五阶多项式拟合结果 sqOeE4esubhYQcv9QSUekO1IGGwjNnOh3fhG7pCMMpxAvK8w450ETiGPDdGtUZ/p

点击中间区域
呼出菜单
上一章
目录
下一章
×