Filter löschen
Filter löschen

find the last non-zero value

90 Ansichten (letzte 30 Tage)
Mahsa
Mahsa am 27 Mär. 2015
Bearbeitet: Image Analyst am 27 Mär. 2015
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

Akzeptierte Antwort

Stephen23
Stephen23 am 27 Mär. 2015
Bearbeitet: Stephen23 am 27 Mär. 2015
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

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by