display 4 consecutive numbers in array

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

采纳的回答

Guillaume
Guillaume 2014-10-8
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.

更多回答(1 个)

David Sanchez
David Sanchez 2014-10-8
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 个评论
Kole
Kole 2014-10-8
Error using == Matrix dimensions must agree.
Error in hw3 (line 7) if a(i:i+3)==(a(i):(a(i)+3))
Kole
Kole 2014-10-8
编辑:Kole 2014-10-8
this is what i was going for but couldnt get it to work

请先登录,再进行评论。

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by