Finding the start and end indices of 3 or more repeating 0's.

1 view (last 30 days)
For the array A=[NaN NaN NaN NaN 0 0 0 NaN NaN 0 0 0 0 NaN NaN 0 0]
I need to find the start and end indices of the '0' runs with greater than or equal to 3 zeroes in a row.
So for A, the values I want returned are [5 7;10 13].

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 7 Feb 2014
A=[NaN NaN NaN NaN 0 0 0 NaN NaN 0 0 0 0 NaN NaN 0 0]
ii=A==0
ii1=strfind([0 ii 0],[0,1])
ii2=strfind([0 ii 0],[1,0])-1
idx=ii2-ii1+1>=3
out=[ii1(idx)' ii2(idx)']

More Answers (0)

Community Treasure Hunt

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

Start Hunting!