How to use the Golden-Section Search for finding the MAX f(x) value?

18 views (last 30 days)
I know how to find the min but not really sure how to find the max..

Answers (2)

Walter Roberson
Walter Roberson on 1 Jun 2016
gs_max = @(x) -gs_min(-x)
That is, if you know how to find the min then you can find the max by finding the minimum of the negative of the values.
  2 Comments
Bella
Bella on 1 Jun 2016
So are you saying that the max is the positive of the min? I got my min to be -1.6656
Walter Roberson
Walter Roberson on 1 Jun 2016
Example:
A = [15 -3 8 17 5]
min(A) = -3
-min(-A) = -min([-15 +3 -8 -17 -5]) = -(-17) = 17
max(A) = 17
So whatever process you have for finding minimum, feed in the negative of the data, find the minimum of that, and take the negative of the result, and you will have the maximum of the original data.

Sign in to comment.


Roger Stafford
Roger Stafford on 1 Jun 2016
Finding the maximum would work the same way as with the minimum except that 1) you need to work in an interval for which your function is unimodal with a maximum, and 2) with reference to the site
https://en.wikipedia.org/wiki/Golden_section_search
the reversals that are mentioned in the “Algorithm” section are applied.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!