Azzera filtri
Azzera filtri

how to find out the time interval between two consecutive events?

4 visualizzazioni (ultimi 30 giorni)
sir, i need to find out the time interval between two consecutive events. i have around 4000 data with increasing numbers but not consecutive. i have to find out the events of 4 consecutive numbers or more and the gap between two consecutive events. how is it possible?
  1 Commento
Guillaume
Guillaume il 14 Dic 2014
Modificato: Guillaume il 14 Dic 2014
I've turned this question into a cody problem.
So far, the best solution is more or less the same as mine below

Accedi per commentare.

Risposta accettata

Guillaume
Guillaume il 13 Dic 2014
This would work:
A = [1,2,5,6,7,8,9,20,21,22,30,31,32,33, 34,35, 40,41,42,43,44];
runs = diff(A) == 1; %which numbers are part of a run
edges = diff([0 runs 0]); %find edges of run (1 = start, -1 = end)
startruns = find(edges == 1); %get indices of start of runs == indices in A
endruns = find(edges == -1); %get indices of end of runs == indices in A
lengthruns = endruns - startruns; %get lengths of runs
startruns = startruns(lengthruns >= 4); %only keep runs of 4 or more
endruns = endruns(lengthruns >= 4); %only keep runs of 4 or more
groupdiff = A(startruns(2:end)) - A(endruns(1:end-1))

Più risposte (1)

dpb
dpb il 13 Dic 2014
  3 Commenti
dpb
dpb il 13 Dic 2014
Did you not look at the linked-to File Exchange routines? I believe either of them will do the job for you...
Without extensive testing, I believe
>> d=find(diff([0 A])>1);
>> d(diff(d)>3)
ans =
3 11
>>
are the locations in question, but I suspect the two submittals are more robust.
trailokya
trailokya il 13 Dic 2014
the first group is 5,6,7,8,9 and the second one is 30,31,32,33,34,35 and the third one is 40,41,42,43,44 and the gap between the first and second is 21 and the second and third is 5. how it is 3 and 11?

Accedi per commentare.

Categorie

Scopri di più su Variables in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by