簡體   English   中英

MATLAB僅從矩陣中刪除某些零

[英]MATLAB Remove Only Certain Zeros from Matrix

關於如何刪除前導和/或尾隨零以及如何從矢量或矩陣中刪除所有零,我已經看到了很多答案。 不過,我只需要刪除其中一些即可。 我有兩個矩陣,我只想刪除兩個均為零的條目。 它們是二維x和y坐標,可以使用特征來解決(我可以在需要時提供更多詳細信息),而我只想刪除兩個矩陣在相同索引處均包含零的值。 我可以輕松地將矩陣轉換為向量並可以使用向量,因此無論哪種情況,我們都將不勝感激。

為了簡單起見,假設您使用的向量稱為XY (具有相同的長度),並且只想刪除兩個向量均為零的那些條目。 方法如下(未經測試):

% Find the indexes where either X or Y is different from zero
% (these are the indexes of the components we want to keep)
I = find(X~=0 | Y~=0);

% Select the desired components from X and Y
X=X(I);
Y=Y(I);

編輯:正如Oli在下面指出的(以及stefano進一步說明),您應該使用邏輯索引來獲得更好的性能。

暫無
暫無

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

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