Polyfit (MATLAB) 多项式与通过 Excel (LINEST) 生成的多项式不匹配

Polyfit (MATLAB) polynomial not matching polynomial generated through Excel (LINEST)

我本以为通过 LINEST(excel) 和 POLYFIT(matlab) 生成的多项式权重会给出相同的结果。即使预测的 y 值相似,多项式权重也不匹配。

MATLAB

[p, s, mu] = POLYFIT(X, Y, 3);

EXCEL

LINEST(D2:D52, A2:C52, TRUE, TRUE)
%D2-D52 contains observed y-values and A2-C52 contains x,x^2 and x^3

我的期望有任何缺陷吗?请指教

mu 参数的存在很可能是罪魁祸首。 mu 输出告诉 MATLAB 调整 x 值以改进拟合算法的数值属性 (polyfit documentation)。 适合此归一化数据 x_hat 的移位和缩放权重不同于未缩放版本 x

因此,MATLAB 输入

p = polyfit(x,y,3); 
% or [p,S] = polyfit(x,y,3); if you want stats

=LINEST(D2:D52, A2:C52, TRUE, TRUE)

应该是一样的。