fminsearch
使用无导数法计算无约束的多变量函数的最小值
非线性规划求解器。搜索由以下公式指定的问题的最小值:
minxf(x)
f(x) 是返回标量的函数,x 是向量或矩阵。
语法
x = fminsearch(fun,x0)x = fminsearch(fun,x0,options)x = fminsearch(problem)[x,fval] = fminsearch(___)[x,fval,exitflag] = fminsearch(___)[x,fval,exitflag,output] = fminsearch(___)说明
示例
输入参数
输出参数
提示
fminsearch仅对实数求最小值,即向量或数组 x 只能由实数组成,并且 f(x) 必须只返回实数。当 x 具有复数值时,将 x 拆分为实部和虚部。使用
fminsearch解决不可微分的问题或者具有不连续性的问题,尤其是在解附近没有出现不连续性的情况下。
算法
fminsearch 使用 Lagarias 等的单纯形搜索方法。[1]这是一种直接搜索方法,不像在 fminunc 中那样使用数值或解析梯度。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.