多项式数学-自定义多边形模型在Matlab中



我有两个数组;

R = [r0, r1, r2, ..., r999]
Z = [z0, z1, z2, ..., z999]

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

在excel中,趋势函数不允许只使用偶数次幂,所以我尝试在Matlab中编写此函数,但我无法弄清楚如何自定义polyfit,以便它只使用上述的偶数次幂。

有什么建议吗?由于

你可以用线性代数中的最小二乘法来解决这个问题:

% 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 = XR;
% Reshape and pad with zeros for the odd and 0th powers
p = [zeros(size(a)) a]';
pval = flip([0; p(:)]);

最新更新