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)
应该是一样的。
我本以为通过 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)
应该是一样的。