我有一个2列N行矩阵。第2列仅包含实数,第1列包含实数和复数(实数+虚数)的混合。即它具有以下形式:
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
我想从矩阵中删除每个ROW,其中该行的第一个元素(即第1列元素)包含一个复数,只留下带有实数的行。
非常感谢任何帮助!
由于
答案 0 :(得分:2)
一种简单的方法是找到第一列的所有元素,其中虚部为零。您保留相应的行并完成。
B = A(imag(A(:,1)==0),:);
答案 1 :(得分: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),:);