优化求解函数

什么是绘图函数?

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

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

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

  • @optimplotx绘制当前点

  • @optimplotfval绘制函数值

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

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

编辑optimplotx.m

例子:情节功能

查看最小化使用的进度fminsearch用绘图函数@optimplotfval:

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

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

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

    [x ffinal] = fminsearch(@onehump,[2,1],options)
  4. MATLAB返回如下结果:

    x = -0.6691 0.0000 ffinal = -0.4052

相关的话题