3

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

4

1 回答 1

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)。如果您希望所有元素都是0s 或NaNs,那么您可以使用all代替any.

于 2013-02-11T12:07:53.823 回答