Syntax
x = fminbnd(fun,x1,x2)
x = fminbnd(fun,x1,x2,options)
x = fminbnd(fun,x1,x2,options,P1,P2,...)
[x,fval] = fminbnd(...)
[x,fval,exitflag] = fminbnd(...)
[x,fval,exitflag,output] = fminbnd(...)
Description
fminbnd
finds the minimum of a function of one variable within a fixed interval.
x = fminbnd(fun,x1,x2)
returns a value x
that is a local minimizer of the function that is described in fun
in the interval x1 <= x <= x2
.
x = fminbnd(fun,x1,x2,options)
minimizes with the optimization parameters specified in the structure options
. You can define these parameters using the optimset
function. fminbnd
uses these options
structure fields:
x = fminbnd(fun,x1,x2,options,P1,P2,...)
provides for additional arguments, P1
, P2
, etc., which are passed to the objective function, fun(x,P1,P2,...)
. Use options=[]
as a placeholder if no options are set.
[x,fval] = fminbnd(...)
returns the value of the objective function computed in fun
at x
.
[x,fval,exitflag] = fminbnd(...)
returns a value exitflag
that describes the exit condition of fminbnd
:
>0 | Indicates that the function converged to a solution x. |
0 | Indicates that the maximum number of function evaluations was exceeded. |
<0 | Indicates that the function did not converge to a solution. |
[x,fval,exitflag,output] = fminbnd(...)
returns a structure output
that contains information about the optimization:
output.algorithm | The algorithm used |
output.funcCount | The number of function evaluations |
output.iterations | The number of iterations taken |
Arguments
fun
is the function to be minimized. fun
accepts a scalar x
and returns a scalar f
, the objective function evaluated at x
. The function fun
can be specified as a function handle.
where myfun
is a MATLAB function such as
fun
can also be an inline object.
Other arguments are described in the syntax descriptions above.
Examples
x = fminbnd(@cos,3,4)
computes to a few decimal places and gives a message on termination.
computes to about 12 decimal places, suppresses output, returns the function value at x
, and returns an exitflag
of 1.
The argument fun
can also be an inline function. To find the minimum of the function on the interval (0,2)
, create an inline object f
The value of the function at the minimum is
Limitations
The function to be minimized must be continuous. fminbnd
may only give local solutions.
fminbnd
often exhibits slow convergence when the solution is on a boundary of the interval.
No comments:
Post a Comment