Find a block of ones in a vector
5 views (last 30 days)
Show older comments
Hi,
I have a simple question but no matlab command for this :). I have a vector containing zeros and ones. I want to find every beginning of a block containing only of ones. For example: 000110011100. I want to get 4 and 8 as the indices indicating the beginning of a block with only ones.
Thank you for your efforts.
0 Comments
Accepted Answer
Fangjun Jiang
on 12 Sep 2011
a=[0 0 0 1 1 0 0 1 1 1 0 0]
ind=find(diff(a)==1)+1
Not too fast. This won't work if a starts with 1. Use this instead
a=[1 1 0 0 0 1 1 0 0 1 1 1 0 0]
ind=find(diff([0 a])==1)
3 Comments
More Answers (1)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!