[英]MATLAB Remove Only Certain Zeros from Matrix
關於如何刪除前導和/或尾隨零以及如何從矢量或矩陣中刪除所有零,我已經看到了很多答案。 不過,我只需要刪除其中一些即可。 我有兩個矩陣,我只想刪除兩個均為零的條目。 它們是二維x和y坐標,可以使用特征來解決(我可以在需要時提供更多詳細信息),而我只想刪除兩個矩陣在相同索引處均包含零的值。 我可以輕松地將矩陣轉換為向量並可以使用向量,因此無論哪種情況,我們都將不勝感激。
為了簡單起見,假設您使用的向量稱為X
和Y
(具有相同的長度),並且只想刪除兩個向量均為零的那些條目。 方法如下(未經測試):
% 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.