Finding first of n consecutively rising data points

1 view (last 30 days)
Hi,
My data look like:
0,2,3,4,3,2,*1*,2,8,9,10,11,12,13, 2, 1, etc
I want to find the index of the value (i) which is the first of n data points which consecutively increase in value. In this example, from the 7th data point (i) onwards there are 8 (n) data points of increasing value(the last being 13). Thank you.
  1 Comment
the cyclist
the cyclist on 2 Jan 2012
I think you need to be more specific. For example, do you want i=1 and n=3, because of the sequence 0,2,3 (the first three elements). Do you want ALL the increasing sequences, or just the longest, etc.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 2 Jan 2012
strfind(diff(data) > 0, ones(1,n))
And yes, I know that strfind is usually used for character data, but it turns out that it can be used for numeric searches as well.
  2 Comments
Andrei Bobrov
Andrei Bobrov on 2 Jan 2012
Hi Walter! Small corrected:
strfind(diff(data) > 0, ones(1,n-1))
Etienne O'Brien
Etienne O'Brien on 2 Jan 2012
Thanks everyone,
This is just what I was looking for.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!