Find all the sequences of consecutive repeated numbers in a numeric array, returning the indices where each sequence starts and ends. The output is a matrix nx2: the starting indices of the n sequences are in the first column, the ending indices are in the second one.
For example, if x=[0 7 7 3 8 7 1 3 5 5 5], we have that the number '7' appears consecutevely from index 2 to 3, while the number '5' from index 9 to 11, so y = [2 3; 9 11]
Solution Stats
Problem Comments
4 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers11
Suggested Problems
-
Back to basics 3 - Temp Directory
382 Solvers
-
259 Solvers
-
1446 Solvers
-
Put two time series onto the same time basis
349 Solvers
-
Apply a function array to an array of numbers
102 Solvers
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
It would be nice making this working with nan and adding the repeated values as second output
Could I convince you to use isempty() for the last test, rather than isequal(..., [])? Since -- for n>0 runs in the input array -- the output is n-by-2, it is quite natural for the output to be 0-by-2 when there are no runs, but a 0-by-2 empty array is not equal to [].
The last test case has been changed to use isempty() instead of isequal().
Thanks, Dyuman!