如何根据某些标准删除Matlab中的矩阵行?

时间:2013-02-11 12:02:26

标签: matlab matrix

在Matlab中,如何从我需要的矩阵中删除特定行?例如,我想从矩阵中删除包含特定值(如0或NaN)的所有行?

1 个答案:

答案 0 :(得分:4)

假设你有A

A = [1 2 3;4 5 0; 7 8 9; 10 NaN 12]

A =

     1     2     3
     4     5     0
     7     8     9
    10   NaN    12

然后,您可以按如下方式选择行:

any(isnan(A'))

ans =

     0     0     0     1

要删除那些包含NaN行的行,您可以执行以下操作:

A(any(isnan(A')),:) = []

A =

     1     2     3
     4     5     0
     7     8     9

您可以选择0 - 包含any(A' == 0)行。如果您希望所有元素都是0NaN,那么您可以使用all代替any