MATLAB Answers

1

Determining indices upon which a sequence of real numbers is convex

Asked by Paul Fishback on 24 Jun 2014
Latest activity Commented on by Paul Fishback on 25 Jun 2014
I have a vector, X, of real numbers which has a minimum at index k, where 1<k<n.
I want to determine the smallest index k1 and largest index k2, for which the sequence is strictly convex on k1,..,k,...k2. Here, convexity means 2X(i) < X(i-1)+X(i+1) for k1+1<=i<=k2-1.
In calculus terms, this question is analogous to determining the largest subinterval about a local minimum upon which the function's second derivative is positive.

  0 Comments

Sign in to comment.

Products

1 Answer

Answer by Roger Stafford on 25 Jun 2014
 Accepted Answer

k1 = k+1-find(diff([x(k+1:-1:1),-inf],2)<=0,'first');
k2 = k-1+find(diff([x(k-1:n),-inf],2)<=0,'first');