How can I find elements in sequence in an array?

25 Ansichten (letzte 30 Tage)
ishita agrawal
ishita agrawal am 23 Mai 2017
Kommentiert: ishita agrawal am 24 Mai 2017
I have an array of numbers. I want to find set of numbers for which difference of two consecutive numbers is 1. For example, I have a sequence [2,3,6,8,9,10,12,14,16,17]. How can I extract position of (2,3), (8,9,10), (16,17)? I also want to save the output in a new array.

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 23 Mai 2017
v=[2,3,6,8,9,10,12,14,16,17]
id=[10 diff(v) 10]==1
ii1=strfind(id,[0 1])
ii2=strfind(id,[ 1 0])
  3 Kommentare
Jan
Jan am 23 Mai 2017
To avoid a collision with the elements on the margins:
id = [false, diff(v)==1, false];
ishita agrawal
ishita agrawal am 24 Mai 2017
@Jan Simon Thank you for the suggestion.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Multidimensional Arrays 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