How to select elements in an array that are in sequence?
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Soumyatha Gavvala
am 17 Jun. 2016
Kommentiert: Soumyatha Gavvala
am 17 Jun. 2016
I have a dynamic array which goes like this [1 2 3 4 31 32 33 34 35 36 37 38 39 40 41 42 56 57 58 59]. Where there is a larger set of elements in sequence (31 to 42) and smaller sets of elements (1 to 4 and 56 to 59). And these values change for every run.
I want to able to select the larger set of elements in sequence. Here, (31 to 42). Is there any way I can do that?
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 17 Jun. 2016
a=[1 2 3 4 31 32 33 34 35 36 37 38 39 40 41 42 56 57 58 59]
id=[1 diff(a)]==1
ii1=strfind([0 id],[0 1])
ii1(2:end)=ii1(2:end)-1
ii2=strfind([id 0],[1 0])
[~,jd]=max(ii2-ii1)
out=a(ii1(jd):ii2(jd))
3 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!