3
在Matlab中,如何從我需要的矩陣中刪除特定行?例如,如果我想刪除矩陣中包含特定值(如0或NaN)的所有行?如何根據一些標準在Matlab中刪除矩陣行?
在Matlab中,如何從我需要的矩陣中刪除特定行?例如,如果我想刪除矩陣中包含特定值(如0或NaN)的所有行?如何根據一些標準在Matlab中刪除矩陣行?
比方說,你有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
s或NaN
s,則可以使用all
而不是any
。
謝謝!正是我在找的=) – jjepsuomi 2013-02-11 12:15:15
你是什麼意思刪除? – fpe 2013-02-11 12:08:34
嘿,被刪除我的意思是擦除包含特定值的整個行:)如果我有一個3乘3的矩陣A = [1 0 0; 2 5 4; 7 8 8];我想刪除所有包含數字7的行,那麼我的簡化矩陣就是A = [1 0 0; 2 5 4]; – jjepsuomi 2013-02-11 12:14:02