簡體   English   中英

在Matlab中從矩陣中刪除零

[英]Remove zeros from matrix in matlab

我有一個問題,希望不要重復。

首先,我要說以下矩陣:

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]

PS我知道如何使用循環。

第一個問題解決方案

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

第二個問題解決方案

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM