optimset
创建或修改结构的优化选项
语法
描述
optimset
(没有输入或输出参数)显示参数的完整列表和他们的有效值。
(没有输入参数)创建一个选项结构选项
= optimset选项
所有参数将在哪里[]
。
例子
创建默认的选项
设置选项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,选项)
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);
这两个oldopts
和newopts
设置的值显示
选择。检查newopts
覆盖oldopts
这个选项。
options.Display
ans = '了'
检查其他两个选项的值。
options.TolX
ans = 1.0000 e-06
options.PlotFcns
ans = ' optimplotfval '
输入参数
optimfun
- - - - - -优化解算器
的名字|函数处理
优化求解程序,指定为一个名称或函数句柄。返回的选择只有非空的条目指定的解算器结构。
例子:选择= optimset (“fzero”)
例子:选项= optimset (@fminsearch)
数据类型:字符
|字符串
|function_handle
oldopts
- - - - - -以前的优化选择
结构
以前的优化选项,指定为一个结构。输出选项
是一样的oldopts
,除了指定的参数。
例子:选择= optimset (e-6 oldopts ' TolX ', 1)
数据类型:结构体
newopts
- - - - - -新的优化选项
结构
新的优化选项,指定为一个结构。输出选项
是一样的newopts
,还包括非空的参数oldopts
这是空的newopts
。
例子:选择= optimset (oldopts newopts)
数据类型:结构体
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:选择= optimset (TolX, 1 e-6 PlotFcns, @optimplotfval)
你只需要输入足够的领导角色定义选项名称唯一。optimset
忽略了案例名称(大写或小写)选项。
显示
- - - - - -水平显示
“通知”
(默认)|“最后一次”
|“关闭”
|“没有”
|“通路”
显示,指定为逗号分隔两人组成的“显示”,这些值之一:
“通知”
——显示输出只有在函数不收敛。“最后一次”
——显示只是最终的输出。“关闭”
或“没有”
——显示没有输出。“通路”
——在每个迭代(不用于显示输出lsqnonneg
)。
显示
可用于所有优化解决。
例子:选择= optimset(“显示”,“iter”)
数据类型:字符
|字符串
FunValCheck
- - - - - -国旗检查函数值是否有效
“关闭”
(默认)|“上”
国旗检查函数值是否有效,指定为逗号分隔组成的“FunValCheck”
和价值“关闭”
或“上”
。当价值“上”
解决,显示一个错误,当目标函数复杂或返回一个值南
。
FunValCheck
可用于fminbnd
,fminsearch
,fzero
。
例子:选择= optimset (“FunValCheck”,“上”)
数据类型:字符
|字符串
MaxFunEvals
- - - - - -最大数量的评价函数
500年
为fminbnd
,200 *(数量的变量)
为fminsearch
(默认)|正整数
最大数量的评估函数,指定为逗号分隔组成的“MaxFunEvals”
和一个正整数。
MaxFunEvals
可用于fminbnd
和fminsearch
。
例子:选择= optimset (MaxFunEvals, 2 e3)
数据类型:单
|双
麦克斯特
- - - - - -最大迭代次数
500年
为fminbnd
,200 *(数量的变量)
为fminsearch
(默认)|正整数
最大迭代次数,指定为逗号分隔组成的“麦克斯特”
和一个正整数。
麦克斯特
可用于fminbnd
和fminsearch
。
例子:选择= optimset(“麦克斯特”,2 e3)
数据类型:单
|双
OutputFcn
- - - - - -输出函数
[]
(默认)|函数名|函数处理|处理单元阵列的功能
输出函数,指定为逗号分隔组成的“OutputFcn”
和一个函数名或函数处理。指定多个输出函数的单元阵列函数处理。输出函数运行在每次迭代之后,使您能够监控解决方案过程或停止迭代。有关更多信息,请参见优化解算器输出功能。
OutputFcn
可用于fminbnd
,fminsearch
,fzero
。
例子:选择= optimset (OutputFcn, {@outfun1, @outfun2})
数据类型:字符
|字符串
|细胞
|function_handle
PlotFcns
- - - - - -绘制函数
[]
(默认)|函数名|函数处理|处理单元阵列的功能
图函数,指定为逗号分隔组成的“PlotFcns”
和一个函数名或函数处理。指定多个情节功能单元阵列的处理函数。一块函数运行在每次迭代之后,使您能够监控解决方案过程或停止迭代。有关更多信息,请参见优化求解图功能。
内置的绘图函数如下:
@optimplotx
当前点的阴谋。@optimplotfval
情节的函数值。@optimplotfunccount
情节函数数(不是可用的fzero
)。
PlotFcns
可用于fminbnd
,fminsearch
,fzero
。
例子:选择= optimset (“PlotFcns”、“optimplotfval”)
数据类型:字符
|字符串
|细胞
|function_handle
TolFun
- - - - - -终止公差函数值
1的军医
(默认)|负的标量
终止公差函数值,指定为逗号分隔组成的“TolFun”
和一个负的标量。迭代结束时当前函数值小于不同于前一个值TolFun
相对于最初的函数值。看到公差和停止条件。
TolFun
可用于fminsearch
只有。
例子:选择= optimset (TolFun, 2 e-6)
数据类型:单
|双
TolX
- - - - - -终止上公差x
,当前点
1的军医
为fminbnd
和fminsearch
,每股收益
为fzero
,10 * eps *规范(c, 1) *长度(c)
为lsqnonneg
(默认)|负的标量
终止上公差x
,当前点,指定为逗号分隔组成的“TolX”
和一个负的标量。迭代结束时当前点不同于前面的点不到TolX
,相对的大小x
。看到公差和停止条件。
TolX
是对所有解决方案可用。
例子:选择= optimset (TolFun, 2 e-6)
数据类型:单
|双
输出参数
选项
——优化选项
结构
优化选择,作为一个结构返回。你不设置值参数[]
解决,这导致这些参数使用默认值。
限制
optimset
设置选项四MATLAB®优化解决方案:fminbnd
,fminsearch
,fzero
,lsqnonneg
。为优化工具箱™或设置选项全局优化工具箱解决者,推荐的功能optimoptions
(优化工具箱)。optimset
不能解决一些优化工具箱,设置选项等intlinprog
。使用optimoptions
(优化工具箱)代替。optimset
不能设置选项全局优化工具箱解决者。使用optimoptions
(优化工具箱)代替。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
代码生成不支持语法,没有输入或输出参数:万博1manbetx
optimset
函数中指定
选项
必须支持代码生成万博1manbetx。输入参数
optimfun
必须支持一个函数,代码生成。万博1manbetx选择的字段结构
oldopts
必须固定大小字段。代码生成忽略了
显示
选择。代码生成不支持创建的附加选项的选项结构优化工具箱万博1manbetx
optimset
函数。如果一个输入选项结构包括额外的优化工具箱选项,然后输出结构不包括他们。
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。万博1manbetx有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
之前介绍过的R2006a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。