【问题标题】:Remove zeros from matrix in matlab从matlab中的矩阵中删除零
【发布时间】:2014-03-18 20:33:17
【问题描述】:

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

首先,我要说以下矩阵:

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]

附:我知道如何使用循环来做到这一点。

【问题讨论】:

  • A(:,find(all(A,1)))
  • 右下角的2应该怎么办?
  • @thewaywewalk 每当我在其中找到 0 时,我都会删除所有列。
  • 第二个问题 - B(:,~any(B>6,1))
  • @Floris,完成。我期待更好的东西作为我的第 100 个答案:) 哦,好吧

标签: matlab matrix


【解决方案1】:

第一个问题解决方案

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

第二个问题解决方案

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

【讨论】:

  • 恭喜您获得第 100 个答案!
猜你喜欢
  • 2014-10-21
  • 2016-05-26
  • 1970-01-01
  • 2022-01-24
  • 2012-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多