2014-12-06 4 views
0

2 행 N 행렬이 있습니다. 2 열은 실수 만 포함하고 1 열은 실수와 복합 (실수 + 허수) 숫자가 혼합되어 있습니다. 나는. 다음과 같은 형태이다 :Matlab : 복소수를 포함하는 행렬을 제거하십시오.

14.3 + 0i  27.1 + 0i 
3.1 + 1.3i 12.0 + 0i 
1.2 + 0i  -11.9 + 0i 
0.1 - 3.3i 12.6+ 0i 

I가 실수로 행만을 남기고, 그 행 (즉, 1 열의 요소)의 첫 번째 요소는 복소수를 포함하는 행렬로부터 모든 행을 삭제하려는 그들 안에.

많은 도움을 주셨습니다.

감사

답변

2

쉬운 방법은 제로의 허수 부와 첫 번째 열의 모든 요소를 ​​찾는 것입니다. 해당 행을 유지하면 작업이 완료됩니다.

B = A(imag(A(:,1)==0),:); 
1
a=[14.3 + 0i  27.1 + 0i; 
    3.1 + 1.3i 12.0 + 0i; 
    1.2 + 0i  -11.9 + 0i; 
    0.1 - 3.3i 12.6+ 0i]; 
ind = a == real(a); 
newa = a(ind(:,1),:); 
관련 문제