MATLAB——polyfit - 铁树银花

MATLAB——polyfit

matlab的polyfit命令,可以理解为“polynomial fitting”,用于数据的多项式拟合。

常用的几种命令格式:

1.P = POLYFIT(X,Y,N)

功能:在最小二乘法意义之上,求解Y关于X的最佳的N次多项式函数。返回值P为N+1维参数向量p(1),p(2)....所得的多项式为P(1)*X^N + P(2)*X^(N-1) +...+ P(N)*X + P(N+1)

2.[P,S] = POLYFIT(X,Y,N)

功能:(1)P的意义同1,是参数矩阵。S是规模为1×1的结构数组,包括R(系数矩阵的QR分解的上三角阵),df(自由度),normr(拟合误差平方和的算术平方根)

注意:

1. 使用polyfit命令进行多项式拟合时要注意的是,向量X(其中元素作为自变量)中不重复的元素个数m,和拟合阶数k需要满足m>=k+1.简单分析:k阶拟 合需要确定k+1个未知参数(如1阶拟合y = ax + b需要确定a和b两个参数),故而至少需要k+1个方程,故而需要至少k+1个不同的已知数对(x,y),由于函数中x只能对应一个y,故而需要至少k+1个不同的x。

以上只是帮助理解的粗略分析,仅供参考。

2. polyfit只适合于形如y = a[k]*x^k + a[k-1]*x^(k-1) + .... + a[1]*x + a[0]的完全的一元多项式的数据拟合。