【问题标题】:Polyfit (MATLAB) polynomial not matching polynomial generated through Excel (LINEST)Polyfit (MATLAB) 多项式与通过 Excel (LINEST) 生成的多项式不匹配
【发布时间】:2015-01-07 02:20:07
【问题描述】:

我预计通过 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

我的期望在任何意义上都有缺陷吗?请指教

【问题讨论】:

  • 这可能与总最小二乘法与最小二乘法有关 - 距离度量不同。

标签: excel matlab


【解决方案1】:

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)

应该是一样的。

【讨论】:

    猜你喜欢
    • 2020-05-23
    • 2014-08-03
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 2019-12-05
    相关资源
    最近更新 更多