MATLAB Answers


Quick way to find the point where a vector changes from increasing to decreasing.

Asked by Reuben
on 15 Dec 2012
Hi I have a vector that goes something like this, [10,9,7,5,3,2,1,2,3,5,7]. You notice in this vector there is the point with value 1 at which the next successive value grows instead of shrinks. My question is about finding this point. I know I could just loop through with a for loop watching for when the difference between point n and n+1 changes sign but wonder if there is a better method. Thanks


Sign in to comment.

1 Answer

Answer by Matt Fig
on 15 Dec 2012
Edited by Matt Fig
on 15 Dec 2012
 Accepted Answer

D = [10,9,7,5,3,2,1,2,3,5,7];
V = [0 diff(D)>0] % Indicates sign of difference
S = find(V,1,'first') % First index where V is +

  1 Comment

Sign in to comment.