非线性规划求解器搜索由以下公式指定的问题的最小值:
f(x) 是返回标量的函数,x 是向量或矩阵
计算 Rosenbrock 函数的最小值,对于许多算法来说这是极难的优化问题:
设置选项,以在每次迭代时绘制目标函数图
求通过文件指定的函数的最小值
计算目标函数的最小值,该函数的值通过执行文件得出函数文件必須接受实数向量 x
,并返回目标函数值实数标量
具有额外参数时求最小值
有时您的目标函数具有额外参数。这些参数不是要优化的变量咜们是优化过程中的固定值。例如假设您在以下 Rosenbrock 类型函数中有一个参数 a
:
此函数在 、 处具有最小值 0。假如 您可以通过创建匿名函数将該参数包含在您的目标函数中。
创建目标函数并将其额外形参作为额外实参
将参数放在您的 MATLAB? 工作区中。
单独创建包含参数的工作区值嘚 x
的匿名函数
有关在您的目标函数中使用额外参数的详细信息,请参阅
为三变量问题编写匿名目标函数。
在优化进行期间和优化结束後检查优化结果
将选项设置为提供迭代显示,从而在求解器运行时提供有关优化的信息此外,将绘图函数设置为在求解器运行时显示目标函数值
设置目标函数和起始点。
获取所有求解器输出在求解器运行完毕后,使用这些输出检查结果
output
结构体显示迭代数。迭代显礻中和绘图中也显示此信息output
结构体还显示函数求值的次数,迭代显示方式会显示该次数但所选的绘图函数不显示该次数。
要计算最小徝的函数指定为函数句柄或函数名称。fun
是一个接受向量或数组 x
的函数并返回实数标量 f
(在 x
处计算的目标函数值)。
您还可以为匿名函數指定 fun
作为函数句柄:
初始点指定为实数向量或实数数组。求解器使用 x0
的大小以及其中的元素数量确定 接受的变量数量和大小
options 结构体Φ这些字段的值。有关详细信息请参阅。
|
以函数句柄或函数句柄的元胞数组的形式来指定优化函数在每次迭代时调用的一个或多个用户定义函数。默认值是“无”( |
绘制算法执行过程中的各个进度测量值从预定义绘图中選择,或者自行编写传递函数句柄或函数句柄的元胞数组。默认值是“无”( 有关编写自定义绘图函数的信息请参阅。 |
问题结构体指定为含有以下字段的结构体。
解以实数向量或实数数组形式返回。x
的大小与 的大小相同通常情况下,当 为正时x
是该问题的局部解。
有关优化过程的信息以包含下列字段的结构体形式返回:
-
fminsearch
仅对实数求最小值,即向量或数组 x 只能由实数组成并且 f(x) 必须只返回实数。當 x 具有复数值时将 x 拆分为实部和虚部。 -
使用
fminsearch
解决不可微分的问题或者具有不连续性的问题尤其是在解附近没有出现不连续性的情况下。
fminsearch
使用 Lagarias 等的单纯形搜索方法这是一种直接搜索方法,不像在 中那样使用数值或解析梯度 中详细地介绍了该算法。该算法不能保证收敛於局部最小值
-
fminsearch
会忽略Display
选项,且不会给出迭代显示或退出消息要检查解的质量,请检查退出标志