Filter löschen
Filter löschen

Remove consecutive values from vector

7 Ansichten (letzte 30 Tage)
Rose
Rose am 2 Dez. 2019
Kommentiert: Rose am 3 Dez. 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 Kommentare
Image Analyst
Image Analyst am 2 Dez. 2019
Huh? How is "a" a sawtooth pattern?
0000 Screenshot.png
Rose
Rose am 3 Dez. 2019
This vector I used just as an example to illustrate what I tried to achieve...

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Ruger28
Ruger28 am 2 Dez. 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

Weitere Antworten (0)

Kategorien

Mehr zu Parallel Computing 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!

Translated by