在matlab中从矩阵中删除零

时间:2014-03-18 20:33:18

标签: matlab matrix

我有一个问题,我希望它不重复。

首先,我要说明以下矩阵:

A=[2 2 2 0 0
   1 2 3 0 0
   4 5 7 2 0]

我想从A中删除零并返回:

A=[2 2 2
   1 2 3
   4 5 7]

当我这样做时

A(A==0)=[] 

我得到了

A=[2 2 2 1 2 3 4 5 7]

其次,如果不是零,我想删除大于某些东西的元素。例如,如果我想删除以下矩阵B的所有大于6(> 6)的元素:

B=[2 2 2 5 3
   1 2 3 6 8
   4 5 7 2 1]

我得到了

A=[2 2 5
   1 2 6
   4 5 2]

P.S。我知道如何使用循环。

1 个答案:

答案 0 :(得分:1)

第一个问题解决方案

A(:,find(all(A,1)))

第二个问题解决方案

B(:,~any(B>6,1))