2016-11-14 68 views
0

我有一個數組A=[0,0,0,0,0,0,k,-k,0,0,-k,0,k,...]。如何在k之前設法刪除數組中的所有零?刪除數組中的第一個零

刪除是這樣的:A(n)=[];

在這種情況下n應該是[1:6]

find(A==0)沒有幫助。

謝謝!

+2

這是相關的問題[切斷前導和陣列尾隨零,僅當它們存在(http://stackoverflow.com/questions/40054494/cut-off-leading-and-trailing-zeros-如果它們存在,則從數組開始)。 – mpaskov

回答

4

您可以使用'first'輸入到find來指定您想要的第一個非零位置。然後,您可以使用此索引從該點到數組的末尾來刪除零。

output = A(find(A, 1, 'first'):end);