主要内容

优化求解器图函数

什么是Plot函数?

PlotFcns场的选项结构指定了优化函数在每次迭代时调用的一个或多个函数,以绘制进度的各种度量。传递函数句柄或函数句柄的单元格数组。图函数的结构与输出函数的结构相同。有关此结构的更多信息,请参见优化求解器输出函数

你可以使用PlotFcns选项与以下MATLAB®优化功能:

这些优化函数的预定义plot函数是:

  • @optimplotx绘制当前点

  • @optimplotfval绘制函数值

  • @optimplotfunccount绘制函数计数(不可用于fzero)

要查看或修改预定义的绘图函数,在MATLAB编辑器中打开函数文件。例如,要查看绘制当前点的函数文件,输入:

编辑optimplotx.m

例子:情节功能

查看一个最小化的进度使用fminsearch与plot函数一起@optimplotfval:

  1. 为目标函数写一个文件。对于这个例子,使用:

    函数f = one驼峰(x) r = x(1)²+ x(2)²;s = exp (- r);f = x (1) * s + r / 20;
  2. 设置使用plot功能的选项:

    选择= optimset (PlotFcns, @optimplotfval);
  3. 调用fminsearch从(2,1):

    [x fffinal] = fminsearch(@ one驼峰,[2,1],options)
  4. MATLAB返回如下:

    X = -0.6691 0.0000 fffinal = -0.4052

    随着迭代的进行,函数值首先减小,然后变为常数。

相关的话题

Baidu
map