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]的完全的一元多項式的數據擬合。