一 函数解释:polyfit 多项式拟合数据—最小二乘法拟合。
(1)P = polyfit(X,Y,N)
在最小二乘意义上找到最适合数据Y的最高次数N的多项式P(X)的系数
P是长度为N + 1的行向量。
P(X) = P(1)* X ^ N + P(2)* X ^(N-1)+ … + P(N)* X + P(N + 1)。
(2)[P,S] = polyfit(X,Y,N)
返回多项式系数P和a与POLYVAL一起使用的结构S,以获取有关的误差估计预测。 S包含QR中的三角因子(R)的字段X的Vandermonde矩阵的分解,自由度(df)和残差范数(normr)。如果数据Y是随机的,P的协方差矩阵的估计为(Rinv * Rinv’)* normr ^ 2 / df,其中Rinv是R的倒数。
(3)[P,S,MU] = polyfit(X,Y,N)查找多项式的系数
XHAT =(X-MU(1))/ MU(2)其中MU(1)= MEAN(X)和MU(2)= STD(X)。这种定中心和定标变换改善了多项式和拟合算法的数值特性。 如果N> = length(X),如果X已经重复或几乎重复了点,或者X可能需要居中和缩放,则会产生警告息。
示例:带有polyfit的简单线性回归
% Fit a polynomial p of degree 1 to the (x,y) data:
x = 1:50;
y = -0.3*x + 2*randn(1,50);
[p,s]= polyfit(x,y,2);
% Evaluate the fitted polynomial p and plot:
f = polyval(p,x);
plot(x,y,'o',x,f,'-')
legend('data','linear fit')
输入X,Y的类支持: 浮点数:双,单
#(2)对拟合的多项式进行评估:
f = polyval(p, X);
f(i)是 P(Xi)的值,f对应的是拟合后,X = x 下的值。