主要内容

设置优化选项

如何设置选项

方法可以指定优化参数选项方法创建的结构optimset函数。然后通过选项作为优化函数的输入,例如,通过调用fminbnd与语法

x = fminbnd(有趣,x1, x2,选项)

fminsearch与语法

x = fminsearch(有趣,x0,选项)

例如,要在每次迭代中显示算法的输出,请设置显示选项“通路”

选择= optimset(“显示”、“iter”);

选择表

选项 描述 解决者

显示

指示中间步骤是否出现在屏幕上的标志。

  • “通知”(默认)仅在函数不收敛时显示输出。

  • “通路”显示中间步骤(不可用lsqnonneg).看到优化求解迭代显示

  • “关闭”“没有”不显示任何中间步骤。

  • “最后一次”只显示最终输出。

fminbndfminsearchfzerolsqnonneg

FunValCheck

检查目标函数值是否有效。

  • “上”当目标函数或约束返回复杂或

  • “关闭”(默认)不显示错误。

fminbndfminsearchfzero

MaxFunEvals

允许的函数求值的最大数目。默认值为500fminbnd而且200 *长度(x0)fminsearch

fminbndfminsearch

麦克斯特

允许的最大迭代次数。默认值为500fminbnd而且200 *长度(x0)fminsearch

fminbndfminsearch

OutputFcn

显示求解器迭代的信息。默认值是[](没有)。看到优化求解器输出函数

fminbndfminsearchfzero

PlotFcns

绘制关于求解器迭代的信息。默认值是[](没有)。有关可用的预定义函数,请参见优化求解器绘图函数

fminbndfminsearchfzero

TolFun

函数值的终止公差。默认值为1.的军医.看到公差和停止标准

fminsearch

TolX

的终止公差x.默认值为1.的军医,除了fzero,默认值为每股收益(=2.2204 e-16),lsqnonneg,默认值为10 * eps *规范(c, 1) *长度(c).看到公差和停止标准

fminbndfminsearchfzerolsqnonneg

公差和停止标准

优化中的迭代次数取决于停止条件解算器。这些标准包括以下几点公差你可以设置。一般来说,公差是一个阈值,如果跨越该阈值,则停止求解器的迭代。

提示

一般来说,设置TolFun而且TolX公差远高于此每股收益,通常高于1 e-14.设置小的公差并不能保证准确的结果。相反,求解器可能无法识别何时收敛,并继续无意义的迭代。小于的公差值每股收益有效地禁用停止条件。这个技巧不适用于fzero的默认值每股收益TolX

  • TolX阶跃大小的下界是指的规范吗x- - - - - -x+1.如果求解器尝试执行小于TolX,迭代结束。解决一般使用TolX作为一个相对有界,意味着迭代结束时| (x- - - - - -x+1) |<TolX* (1 + |x|),或类似的相对度量。

    当最后一步小于TolFun或TolX时,显示迭代如何结束的图。

  • TolFun是一个步骤中目标函数值变化的下界。如果|fx) - - -fx+1) |<TolFun,迭代结束。解决一般使用TolFun作为一个相对有界,意味着迭代结束时|fx) - - -fx+1) |<TolFun(1 + |fx) |),或类似的相对度量。

  • 麦克斯特是求解器迭代次数的界限。MaxFunEvals是函数求值次数的界限。

请注意

不像其他的解决者,fminsearch满足时停止这两个TolFun而且TolX

输出结构

输出结构包括函数计算的次数、迭代的次数和算法。当您提供时,该结构将出现fminbndfminsearch,或fzero使用第四个输出参数,如

[x, fval exitflag、输出]= fminbnd (@humps 0.3 1);

有关输出每个求解器的结构都在函数参考页上。

输出结构不是你可以选择的选项optimset.的可选输出fminbndfminsearch,fzero

相关的话题

Baidu
map