【问题标题】:Matlab: remove matrix rows that contain complex numbersMatlab:删除包含复数的矩阵行
【发布时间】:2014-12-06 13:43:57
【问题描述】:

我有一个 2 列、N 行的矩阵。第 2 列仅包含实数,第 1 列包含实数和复数(实数+虚数)的混合。 IE。它的形式如下:

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 列元素)包含一个复数,只留下其中包含实数的行。

非常感谢任何帮助!

谢谢

【问题讨论】:

    标签: matlab matrix complex-numbers


    【解决方案1】:

    一种简单的方法是查找第一列中虚部为零的所有元素。你保留相应的行,你就完成了。

    B = A(imag(A(:,1)==0),:);
    

    【讨论】:

      【解决方案2】:
      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),:);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多