finding consecutive numbers in an array
조회 수: 5 (최근 30일)
이전 댓글 표시
Hi,
I'am trying to find minimum 320 consecutive numbers in an array. Is there any simple way to find it?
댓글 수: 2
Jan
2016년 1월 31일
편집: Jan
2016년 1월 31일
Please explain the term "consecutive numbers" in an example. Do you mean, that the difference between two neigboring numbers is +1? Or is -1 accepted also? Do you mean integer values in a double array? Which result is wanted? The first index? What exactly is "minimum 320 numbers"? I assume it is a block of 320 or more elements?
답변 (1개)
Jan
2016년 1월 31일
편집: Jan
2016년 1월 31일
Data = randi([1, 10], 1, 1e6); % Any test data
Len = 5; % 320 in your case
[B, N, Index] = RunLength(diff(Data));
Match = find(N >= Len & B == 1);
% Output to control results:
for k = 1:numel(Match)
iResult = Index(Match(k));
fResult = iResult + N(Match(k)) - 1;
disp(Data(iResult:fResult));
end
댓글 수: 2
참고 항목
카테고리
Help Center 및 File Exchange에서 Performance and Memory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!