优化求解器绘图函数
什么是图函数?
的PlotFcns
字段选项
结构指定了优化函数在每次迭代时调用的一个或多个函数,以绘制各种进度度量。传递一个函数句柄或函数句柄的单元格数组。图函数的结构与输出函数的结构相同。有关此结构的更多信息,请参见优化求解器输出函数.
您可以使用PlotFcns
选项与下面的MATLAB®优化功能:
这些优化函数的预定义图函数是:
@optimplotx
绘制当前点@optimplotfval
绘制函数值@optimplotfunccount
绘制函数计数(不可用于fzero
)
若要查看或修改预定义的绘图函数,请在MATLAB编辑器中打开函数文件。例如,要查看绘制当前点的函数文件,输入:
编辑optimplotx.m
示例:Plot函数
使用查看最小化的进度fminsearch
用绘图函数@optimplotfval
:
为目标函数编写一个文件。对于这个例子,使用:
函数f = onehump(x) r = x(1)^2 + x(2)^2;S = exp(-r);F = x(1)*s+r/20;
设置选项以使用绘图功能:
options = optimset('PlotFcns',@optimplotfval);
调用
fminsearch
从[2,1]开始:[x final] = fminsearch(@onehump,[2,1],options)
MATLAB返回如下:
X = -0.6691 0.0000 final = -0.4052