2016-09-21 18 views
0

複雑な4 * 4行列Mの固有値と固有ベクトルを計算したいときに質問があります。 のは例を見てみましょう:Matlabの特定の正規化条件で固有値と固有ベクトルを取得する方法

M =

[7.71 0.88 -0.47i 0.11iを。

0.88 19.09 0.11i -0.02i;

-0.47i 0.11i -7.71 -0.88;

0.11i -0.02i -0.88 -3.44。]

それはDは固有値で、ここV = [a1, a2, i *b1, i *b2]何かのように、M*V=D*V,です。 a1,a2,b1,b2は実際の値であり、iは虚数のインデックスです。我々はMATLABから直接コマンドeig(M)を使用した場合

、それはnorm(V)=sqrt(a1^2+a2^2+b1^2+b2^2)=1

で固有値を与えるだろう。しかし、今、私が代わりにnorm(V)=1

の条件a1^2+a2^2+(i *b1)^2+(i *b2)^2=1と固有値を必要とする誰もがヒントを取得したら、コメントしてください。 ありがとうございました。

よろしく、シンボリックツールボックスが必要な溶液の最初の部分のため

マイク
+0

あなたの例では、a1、a2、i * b1、i * b2は固有ベクトルの1つの要素であるようです。ノルム(V)= sqrt(abs(a1)^ 2 + abs(a2)^ 2 + abs(b1)^ 2 + abs(b2)^ 2)= 1を計算するためには、 ;正しい。 M行列を質問に追加してください。あなたがしたいことを正確に説明し、説明します。 – rahnema1

+0

hi rahnema1、私はeigを使って計算すると、自動的に固有ベクトルをノルム(V)= 1として正規化します。しかし今、固有ベクトルの新しい正規化を計算したいと思います。 – Mike22LFC

+0

答えが更新されました! – rahnema1

答えて

0

。私は手元にシンボリックツールボックスを持っていないので、私はマキシマによってソリューションを提供:

あなたは固有ベクトルを形成する4つの複素数を持っていると言う:

A: a1 + %i * a2; 
B: b1 + %i * b2; 
C: c1 + %i * c2; 
D: d1 + %i * d2; 

%i記号は虚数単位を表します。ベクトルのノルム 2である:ここ

sqrt(cabs(A)^2 + cabs(B)^2 + cabs(C)^2 + cabs(D)^2). 

cabsは、複雑なABSを意味します。 だから我々は、我々はそれによってベクトルの要素を分割した場合、得られたベクターは、このプロパティを持っていることをvは、数追求:

(cabs(A/v)^2 + cabs(B/v)^2 + (%i * cabs(C/v))^2 + (%i * cabs(D/v))^2) = 1; 

我々はvのための方程式を解くことができます。

A: a1 + %i * a2; 
B: b1 + %i * b2; 
C: c1 + %i * c2; 
D: d1 + %i * d2; 
eq: (cabs(A/v)^2 + cabs(B/v)^2 + (%i * cabs(C/v))^2 + (%i * cabs(D/v))^2) - 1; 
solve(eq , v); 

結果を

v = sqrt([a1^2 + a2^2 + b1^2 + b2^2 - c1^2 - c2^2 - d1^2 - d2^2 ]) 
    =sqrt (cabs(A)^2 + cabs(B)^2 - cabs(C)^2 - cabs(D)^2) 

固有ベクトルを正規化するためのMATLABコード:

M=[... 

7.71 0.88 -0.47i 0.11i; 

0.88 19.09 0.11i -0.02i; 

-0.47i 0.11i -7.71 -0.88; 

0.11i -0.02i -0.88 -3.44]; 

% with nobalance eigenvector do not necessarily normalized 
[VEC, D] = eig(M, 'nobalance'); 
ABS2 = abs(VEC).^2; 
ABS2(3:4,:) = -ABS2(3:4,:); 
v = sqrt(sum(ABS2,1)); 
VEC = bsxfun(@rdivide,VEC, v) 
関連する問題