0

2 つの配列があります。

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

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

関数がR(z)である上記にポリフィットを適用したい。多項式を x^2+x^4+x^6+x^8 にする必要があります

Excelでは、トレンド関数は偶数べき乗のみを許可しないため、Matlabでこれを記述しようとしましたが、上記のように偶数べき乗のみを使用するようにpolyfitをカスタマイズする方法がわかりません。

助言がありますか?ありがとう

4

1 に答える 1

1

これを解決するには、線形代数の最小二乗法を使用できます。

% 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(:)]);
于 2016-08-09T15:30:23.243 に答える