主要内容

optimset

创建或修改结构的优化选项

描述

创建或修改为MATLAB选择结构®解决者。

请注意

optimoptions建议而不是optimset解决所有除了fzero,fminbnd,fminsearch,lsqnonneg

例子

选项= optimset (名称,值)返回选项使用指定的参数设置使用一个或多个参数名称-值对。

optimset(没有输入或输出参数)显示参数的完整列表和他们的有效值。

选项= optimset(没有输入参数)创建一个选项结构选项所有参数将在哪里[]

例子

选项= optimset (optimfun)创建选项与所有相关的参数名称和默认值优化函数optimfun

例子

选项= optimset (oldopts,名称,值)创建一个副本oldopts并修改参数指定使用一个或多个名称-值对参数。

例子

选项= optimset (oldopts,newopts)结合现有的选择结构oldopts用一个新的选项结构newopts。任何参数newopts非空的值覆盖中相应的参数oldopts

例子

全部折叠

设置选项fminsearch使用一个情节比默认功能和更严格的停止条件。

选择= optimset (“PlotFcns”,“optimplotfval”,“TolX”1 e);

最小化。海涅的功能从点(1、2),和监视最小化过程通过使用选项。。函数的最小值为0的点(1,- 1)。

有趣= @ (x) 100 * (x (x (2) - (1) ^ 2) ^ 2) + (1 - x (1)) ^ 2;%。海涅的功能x0 = [1, 2];[x, fval] = fminsearch(有趣,x0,选项)

图优化函数包含一个坐标轴对象。坐标轴对象与标题当前函数值:4.73054 e-16,包含迭代,ylabel函数值包含一行对象显示它的值只使用标记。

x =1×21.0000 - 1.0000
fval = 4.7305 e-16

创建一个结构包含的默认选项fzero解算器。

选择= optimset (“fzero”);

视图的默认值TolX选择fzero

托尔= options.TolX
托尔= 2.2204 e-16

选项设置为使用一个函数的宽容1 e-6

oldopts = optimset (“TolFun”1 e-6);

修改选项oldopts使用“optimplotfval”情节功能和TolX的价值1 e-6

选择= optimset (oldopts,“PlotFcns”,“optimplotfval”,“TolX”1 e-6);

视图的三个选项设置。

disp (options.TolFun);
1.0000 e-06
disp (options.PlotFcns);
optimplotfval
disp (options.TolX);
1.0000 e-06

覆盖一个选项的相应部分结构采用结构有不同的选项optimset

oldopts = optimset (“显示”,“通路”,“TolX”1 e-6);newopts = optimset (“PlotFcns”,“optimplotfval”,“显示”,“关闭”);选择= optimset (oldopts newopts);

这两个oldoptsnewopts设置的值显示选择。检查newopts覆盖oldopts这个选项。

options.Display
ans = '了'

检查其他两个选项的值。

options.TolX
ans = 1.0000 e-06
options.PlotFcns
ans = ' optimplotfval '

输入参数

全部折叠

优化求解程序,指定为一个名称或函数句柄。返回的选择只有非空的条目指定的解算器结构。

例子:选择= optimset (“fzero”)

例子:选项= optimset (@fminsearch)

数据类型:字符|字符串|function_handle

以前的优化选项,指定为一个结构。输出选项是一样的oldopts,除了指定的参数。

例子:选择= optimset (e-6 oldopts ' TolX ', 1)

数据类型:结构体

新的优化选项,指定为一个结构。输出选项是一样的newopts,还包括非空的参数oldopts这是空的newopts

例子:选择= optimset (oldopts newopts)

数据类型:结构体

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:选择= optimset (TolX, 1 e-6 PlotFcns, @optimplotfval)

你只需要输入足够的领导角色定义选项名称唯一。optimset忽略了案例名称(大写或小写)选项。

显示,指定为逗号分隔两人组成的“显示”,这些值之一:

  • “通知”——显示输出只有在函数不收敛。

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

  • “关闭”“没有”——显示没有输出。

  • “通路”——在每个迭代(不用于显示输出lsqnonneg)。

显示可用于所有优化解决。

例子:选择= optimset(“显示”,“iter”)

数据类型:字符|字符串

国旗检查函数值是否有效,指定为逗号分隔组成的“FunValCheck”和价值“关闭”“上”。当价值“上”解决,显示一个错误,当目标函数复杂或返回一个值

FunValCheck可用于fminbnd,fminsearch,fzero

例子:选择= optimset (“FunValCheck”,“上”)

数据类型:字符|字符串

最大数量的评估函数,指定为逗号分隔组成的“MaxFunEvals”和一个正整数。

MaxFunEvals可用于fminbndfminsearch

例子:选择= optimset (MaxFunEvals, 2 e3)

数据类型:|

最大迭代次数,指定为逗号分隔组成的“麦克斯特”和一个正整数。

麦克斯特可用于fminbndfminsearch

例子:选择= optimset(“麦克斯特”,2 e3)

数据类型:|

输出函数,指定为逗号分隔组成的“OutputFcn”和一个函数名或函数处理。指定多个输出函数的单元阵列函数处理。输出函数运行在每次迭代之后,使您能够监控解决方案过程或停止迭代。有关更多信息,请参见优化解算器输出功能

OutputFcn可用于fminbnd,fminsearch,fzero

例子:选择= optimset (OutputFcn, {@outfun1, @outfun2})

数据类型:字符|字符串|细胞|function_handle

图函数,指定为逗号分隔组成的“PlotFcns”和一个函数名或函数处理。指定多个情节功能单元阵列的处理函数。一块函数运行在每次迭代之后,使您能够监控解决方案过程或停止迭代。有关更多信息,请参见绘制函数输出函数和情节函数的语法

内置的绘图函数如下:

  • @optimplotx当前点的阴谋。

  • @optimplotfval情节的函数值。

  • @optimplotfunccount情节函数数(不是可用的fzero)。

PlotFcns可用于fminbnd,fminsearch,fzero

例子:选择= optimset (“PlotFcns”、“optimplotfval”)

数据类型:字符|字符串|细胞|function_handle

终止公差函数值,指定为逗号分隔组成的“TolFun”和一个负的标量。迭代结束时当前函数值小于不同于前一个值TolFun相对于最初的函数值。看到公差和停止条件

TolFun可用于fminsearch只有。

例子:选择= optimset (TolFun, 2 e-6)

数据类型:|

终止上公差x,当前点,指定为逗号分隔组成的“TolX”和一个负的标量。迭代结束时当前点不同于前面的点不到TolX,相对的大小x。看到公差和停止条件

TolX是对所有解决方案可用。

例子:选择= optimset (TolX, 2 e-6)

数据类型:|

输出参数

全部折叠

优化选择,作为一个结构返回。你不设置返回值参数[]解决,导致使用这些参数的默认值。

限制

  • optimset设置选项四MATLAB优化解决:fminbnd,fminsearch,fzero,lsqnonneg。为优化工具箱™或设置选项全局优化工具箱解决者,推荐的功能optimoptions

  • optimset不能解决一些优化工具箱,设置选项等intlinprog。使用optimoptions代替。

  • optimset不能设置选项全局优化工具箱解决者。使用optimoptions代替。

扩展功能

版本历史

之前介绍过的R2006a