Maximizing an Objective - MATLAB & Simulink (original) (raw)
Main Content
All solvers attempt to minimize an objective function. If you have a maximization problem, that is, a problem of the form
maxxf(x),
then define g(x) = –f(x) and minimize g.
For example, to find the maximum of tan(cos(x)) near x = 5, evaluate
[x,fval] = fminunc(@(x)-tan(cos(x)),5)
Local minimum found.
Optimization completed because the size of the gradient is less than the value of the optimality tolerance.
The maximum is 1.5574
(the negative of the reported fval
), and occurs at x = 6.2832
. This answer is correct because, to five digits, the maximum is tan(1) = 1.5574, which occurs at x = 2π = 6.2832.