我正試圖找到一種更好的方法來刪除某些包含零的向量中的行。我現在正在做的是下面的代碼:刪除包含零的行
i = 1;
while i <= length(JAbs)
if JAbs(i) == 0
JAbs(i) = [];
JX(i) = [];
else
i = i+1;
end
end
我想有一個更簡單的方法,將不勝感激任何幫助。
最好的問候, 阿希姆
我正試圖找到一種更好的方法來刪除某些包含零的向量中的行。我現在正在做的是下面的代碼:刪除包含零的行
i = 1;
while i <= length(JAbs)
if JAbs(i) == 0
JAbs(i) = [];
JX(i) = [];
else
i = i+1;
end
end
我想有一個更簡單的方法,將不勝感激任何幫助。
最好的問候, 阿希姆
具有u嘗試過的 「查找」 命令? Documentation from MathWorks
>> X=[1 2 3; 3 2 0; 1 2 3;0 3 2]
X =
1 2 3
3 2 0
1 2 3
0 3 2
刪除行用零
X(sum((X==0),2)>0,:) = []
結果:[從基質去除零 - 不疏]的
X =
1 2 3
1 2 3
如果MATLAB允許負指數表示移除,那麼** R **的確如此: - 是不是很好 –
可能重複(HTTP://計算器。 com/questions/738438 /從-a-matrix-removing-sparse中刪除零) – Jonas
沒有重複,因爲我的問題是如何做到這一點不僅對於一個向量,而是對於多個向量w這裏需要刪除同一行。請參閱我的示例代碼,其中JAbs和JX都將行刪除。 – Achim
它仍然是相同的操作,除了兩個向量:'goodRows = JAbs〜= 0; JAbs = JAbs(goodRows); JX = JX(goodRows);' – Jonas