0

私は2つの配列を持っています。Matlabのカスタムポリフィットモデル

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

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

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

excelでは、トレンド関数は偶数乗を許さないため、これをMatlabに書き込もうとしました。私は上記のように偶数の偶数を使うようにpolyfitをカスタマイズする方法を理解することはできません。

提案がありますか? おかげ

+0

あなたは、これはあなたの問題を解決しました –

答えて

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(:)]); 
+0

@ramzを試してみましたが、コードを投稿してください? – Skogsv