Remove consecutive values from vector

14 vues (au cours des 30 derniers jours)
Rose
Rose le 2 Déc 2019
Commenté : Rose le 3 Déc 2019
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
Image Analyst
Image Analyst le 2 Déc 2019
Huh? How is "a" a sawtooth pattern?
0000 Screenshot.png
Rose
Rose le 3 Déc 2019
This vector I used just as an example to illustrate what I tried to achieve...

Connectez-vous pour commenter.

Réponse acceptée

Ruger28
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

Plus de réponses (0)

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!

Translated by