标签: matlab matrix
我有一个矩阵X=[0 1 0 0;0 0 0 1;1 0 0 1],我想删除多个行中的行' 1'在里面。 我已经知道sum(X~=0,2)删除行将全部为零。有没有办法没有循环呢?
X=[0 1 0 0;0 0 0 1;1 0 0 1]
sum(X~=0,2)
答案 0 :(得分:3)
此代码将执行:
X( sum(X') <= 1 , :)
sum(X') <= 1将返回包含1的布尔向量,其中包含一个或零个行的索引。
sum(X') <= 1
1
<强>更新强> 谢谢,评论者。应使用sum(X')代替sum(X,2),以避免单行矩阵出现问题。
sum(X')
sum(X,2)