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

1 次查看(过去 30 天)
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].

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-2-7
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)']

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by