Find minimum of unconstrained multivariable function using derivative-free method
Nonlinear programming solver. Searches for the minimum of a problem specified by
f(x) is a function that returns a scalar, and x is a vector or a matrix; see Matrix Arguments.
fminsearch
only minimizes over
the real numbers, that is, x must only consist
of real numbers and f(x) must
only return real numbers. When x has complex values,
split x into real and imaginary parts.
Use fminsearch
to solve nondifferentiable
problems or problems with discontinuities, particularly if no discontinuity
occurs near the solution.
fminsearch
is generally less
efficient than fminunc
, especially
for problems of dimension greater than two. However, when the problem
is discontinuous, fminsearch
can be more robust
than fminunc
.
fminsearch
is not the preferred
solver for problems that are sums of squares, that is, of the form
Instead, use the lsqnonlin
function,
which has been optimized for problems of this form.
fminsearch
uses the simplex search method
of Lagarias et al. [1]. This is a direct search method that does not use numerical
or analytic gradients as in fminunc
.
The algorithm is described in detail in fminsearch Algorithm. The algorithm is not guaranteed to
converge to a local minimum.
The Optimize Live Editor task provides a visual interface for fminsearch
.
[1] Lagarias, J. C., J. A. Reeds, M. H. Wright, and P. E. Wright. “Convergence Properties of the Nelder-Mead Simplex Method in Low Dimensions.” SIAM Journal of Optimization. Vol. 9, Number 1, 1998, pp. 112–147.