在Matlab中,如何从我需要的矩阵中删除特定行?例如,我想从矩阵中删除包含特定值(如0或NaN)的所有行?
答案 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)
行。如果您希望所有元素都是0
或NaN
,那么您可以使用all
代替any
。