我有一个包含3列的双变量。有时,在第二列中,我获得零值。如果它发生,我想完全删除该行。例如:
12346 67 89
1245 0 765
56 0 99
19862 8 675
我想得到什么:
12346 67 89
19862 8 675
提前感谢您的帮助。
答案 0 :(得分:1)
这通常使用logical indexing:
完成A = [12346 67 89
1245 0 765
56 0 99
19862 8 675];
mask = (A(:,2) ~= 0);
ans = A(mask, :)
相同但删除了原始数组中的元素:
mask = (A(:,2) == 0);
A(mask, :) = []
一个非常相似的问题:How can you remove matrix rows in Matlab based on some criteria?