2014-11-23 5 views
0

벡터 e와 행렬 v를 함께 정렬하는 방법 : 각 고유 값은 행렬 v의 고유 벡터와 그림과 같이 동일합니다.복잡한 행렬과 벡터를 특정 순서로 함께 정렬

v = 

0.9978 + 0.0022i 0.9978 - 0.0022i 0.9179 - 0.0199i 0.9179 + 0.0199i 
-0.4665 + 0.0050i -0.4665 - 0.0050i 0.9805 - 0.0195i 0.9805 + 0.0195i 
-0.0003 - 0.0025i -0.0003 + 0.0025i -0.0008 - 0.0162i -0.0008 + 0.0162i 
0.0001 + 0.0012i 0.0001 - 0.0012i -0.0008 - 0.0173i -0.0008 + 0.0173i 

예를 들어 eigenvalue e (1,1)가 eigenvector v (:, 1)에 해당한다고 말할 수 있습니다. 그림에서 벡터 e_sort와 행렬 v_sort가 특정한 순서로 필요합니다.

enter image description here

규칙 벡터 전자를위한 것입니다 먼저해야합니다 : 다음

-a+b*i 

과 :

-a-b*i 

우리는 말할 수있다, 그 :

0 < b_1 < b_2 < ... < b_n 

감사합니다.

+0

매우 유사하지만, 확장 : http://stackoverflow.com/questions/27090398/sort-complex-vectors-in-specific -주문 – MrPitivier

답변

0

답변 질문처럼, 또한 유사하다 :

negIm = imag(e) < 0; 
[e1,ie1] = sort(e(~negIm)); 
[e2,ie2] = sort(e(negIm)); 
newe = cat(1,e1,e2); 

v1 = v(:,~negIm); v2 = v(:,negIm); 
newv = cat(2,v1(:,ie1),v2(:,ie2));