Thanks very much for your help David, works just how intended!

42 views (last 30 days)

Show older comments

For vector A, how would you find the index value for the start of a repeated consecutive value repeated more than x times

Example 1:

A = [4 2 7 4 4 7 9 9 3 8 8 8 8 8 8 5 6 6 7 ]

if x is 5 in this case I would like the answer to give 10.

Example 2:

For vector A attached using x = 7, would like the answer outputed to be 4249

Any sugesstions are much appreciated

David Hill
on 25 Feb 2021

This should work better. Did not previously think about multi-digit numbers.

n=7;%minimum number of repeats

a=num2str(~(diff(A)==0));

a=a(a~=' ');

idx=strfind(a,repmat('0',1,n-1));

David Hill
on 25 Feb 2021

Likely lots of other ways.

n=5;%minimum number of repeats

idx=strfind(cell2mat(regexp(num2str(diff(A)),'[^- ]','match')),repmat('0',1,n-1));%idx(1) would be the first occurrance

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

Start Hunting!