2014-12-06 90 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 

我想從矩陣,其中該行(即,第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),:);