MATLAB: How find non zero

findfirstonevectorzerozeros

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.

Best Answer

>> 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