Remove consecutive values from vector
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hey Guys,
I have this vector with increasing values (always positive) up till a certain point, after which it returns to zero again (straight line), and starts increasing again. A so called "saw" pattern. Now I am trying to determine the first indice in the vector which has a value above a certain threshold, but when I do so I get a vector with all of values above threshold.
It would be fixed if I could manage to remove the consecutive indices, and only store the first indice. I tried the following code, but this actually returns the last value of the consecutive numbers. (output is [3,7,12])
Any clue on how to change this to [1,7,10] ?
a = [1;2;3;7;10;11;12]
x = [diff(a')~=1,true];
a(x)
2 commentaires
Réponse acceptée
Ruger28
le 2 Déc 2019
a = [1;2;3;7;10;11;12];
x = diff(a);
y = vertcat(true,x~=1); % shift index down to grab first number
a(y);
a = 1
7
10
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Parallel Computing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!