How find non zero

2 views (last 30 days)
So
So on 6 Jun 2016
Commented: So on 6 Jun 2016
Hello,
For example I have a vector A = [ 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0]. And I do find(A,2)-2, so I have the 2 zeros before the first one. However, how can I get the 5 zeros before the first one ? If i do find(A,5)-5 I will get only the 4 zeros because there is only four one.
Thank you.

Accepted Answer

Stephen23
Stephen23 on 6 Jun 2016
>> A = [ 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0];
>> fun = @(n)find(A,1)-(n:-1:1);
>> fun(2)
ans =
6 7
>> fun(5)
ans =
3 4 5 6 7
  1 Comment
So
So on 6 Jun 2016
Thank you Stephen :)

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 6 Jun 2016
strfind(A, [0 0 0 0 0 1])

Community Treasure Hunt

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

Start Hunting!