display 4 consecutive numbers in array

I have the Array a= 9 10 11 12 17 18 19 20 23 24 How can i get the code to display when the 4 indices are consecutive and when they appear. example: 9 10 11 12 and 17 18 19 20

 Réponse acceptée

Guillaume
Guillaume le 8 Oct 2014
Strangely enough, strfind also find patterns in numeric arrays:
a = [9 10 11 12 17 18 19 20 23 24];
indices = strfind(diff(a), [1 1 1])
See also Loren's blog on the subject of finding patterns for alternative algorithms.

Plus de réponses (1)

David Sanchez
David Sanchez le 8 Oct 2014
a= [9 10 11 12 17 18 19 20 23 24];
for k=1:(length(a)-3) % k=2
if a(k:k+3)==(a(k):a(k)+3)
fprintf('repeition in position %g: \n',k);
disp(a(k:k+3));
end
end

2 commentaires

Kole
Kole le 8 Oct 2014
Error using == Matrix dimensions must agree.
Error in hw3 (line 7) if a(i:i+3)==(a(i):(a(i)+3))
Kole
Kole le 8 Oct 2014
Modifié(e) : Kole le 8 Oct 2014
this is what i was going for but couldnt get it to work

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Types dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by