Remove consecutive values from vector

5 ビュー (過去 30 日間)
Rose
Rose 2019 年 12 月 2 日
コメント済み: Rose 2019 年 12 月 3 日
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 件のコメント
Image Analyst
Image Analyst 2019 年 12 月 2 日
Huh? How is "a" a sawtooth pattern?
0000 Screenshot.png
Rose
Rose 2019 年 12 月 3 日
This vector I used just as an example to illustrate what I tried to achieve...

サインインしてコメントする。

採用された回答

Ruger28
Ruger28 2019 年 12 月 2 日
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 件)

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by