【问题标题】:Custom polyfit model in MatlabMatlab 中的自定义 polyfit 模型
【发布时间】:2016-08-09 13:58:18
【问题描述】:

我有两个数组;

R = [r0, r1, r2, ..., r999]

Z = [z0, z1, z2, ..., z999]

我想将 polyfit 应用到上面,其中函数是 R(z)。我需要多项式为 x^2+x^4+x^6+x^8

在 excel 中,趋势函数不允许仅使用偶次幂,因此我尝试在 Matlab 中编写此代码,但我无法弄清楚如何自定义 polyfit 以使其仅使用上述偶次幂。

有什么建议吗? 谢谢

【问题讨论】:

  • 请贴出你试过的代码

标签: matlab polynomial-math polynomials polynomial-approximations


【解决方案1】:

您可以使用线性代数中的Least Squares Method 来解决这个问题:

% The Data
R = [r0, r1, r2, ..., r999]'; % Note the apostrophe
Z = [z0, z1, z2, ..., z999]';

% Create Vandermonde-ish matrix
X = [Z.^2 Z.^4 Z.^6 Z.^8];

% Solve equation system
a = X\R;

% Reshape and pad with zeros for the odd and 0th powers
p = [zeros(size(a)) a]';
pval = flip([0; p(:)]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    相关资源
    最近更新 更多