For a regular vector we can use following command to extract the vector after pre-allocating.
if m = [ 1 2 3 4 5 0 0 0 0 0 0 0 0]
m(m==0)=[]
m= [1 2 3 4 5];
However my question is what to do if zero is one of the real values like the following example:
m = [ 1 2 0 3 4 0 5 0 0 0 0 0 0 0 0];
I'm looking for a command that gives me
m = [ 1 2 0 3 4 0 5]
Thank you

 採用された回答

Stephen23
Stephen23 2015 年 3 月 27 日
編集済み: Stephen23 2015 年 3 月 27 日

8 投票

Use find to locate non-zero values in an array. The optional arguments help you too:
>> m = [ 1 2 0 3 4 0 5 0 0 0 0 0 0 0 0];
>> m(1:find(m,1,'last'))
ans =
1 2 0 3 4 0 5

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMathematics についてさらに検索

質問済み:

2015 年 3 月 27 日

編集済み:

2015 年 3 月 27 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by