Find a block of ones in a vector
10 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
Categories
Find more on Entering Commands in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!