之间做出选择optimoptions
和optimset
此前,设置选项是使用推荐的方法optimset
。现在一般建议使用optimoptions
下面列出一些警告。
optimset
仍然有效,这是唯一的方法来设置选项可用解决没有优化工具箱™许可证:fminbnd
,fminsearch
,fzero
,lsqnonneg
。
请注意
其他一些工具箱使用优化选项,需要您通过选择使用创建的optimset
,而不是optimoptions
。检查你的工具箱的文档。
optimoptions
组织方案解决者,更集中和综合显示optimset
:
创建和修改只适用于解算器的选项
显示你的选项选择,默认值为一个特定的解算器/算法
显示链接的更多信息解算器选项和其他可用的解决算法
intlinprog
只使用optimoptions
选项。
在创建选项的主要区别是:
为
optimoptions
,包括解算器名称作为第一个参数。选择= optimoptions (
SolverName
、名称、值,…)为
optimset
,语法不包括解决者的名字。选择= optimset(名称、值…)
在这两种情况下,您可以通过使用点符号查询或更改选项。看到设置和改变选项和视图选项。
例如,比较的显示optimoptions
的optimset
。
选择= optimoptions (@fminunc,“SpecifyObjectiveGradient”,真正的)
选项= fminunc选项:选择当前使用的算法(“信赖域”):(其他可用的算法:“拟牛顿”)设置属性:SpecifyObjectiveGradient: 1默认属性:算法:“信赖域”CheckGradients: 0显示:“最终”FiniteDifferenceStepSize:“sqrt (eps)”FiniteDifferenceType:“向前”FunctionTolerance: 1.0000 e-06 HessianFcn: [] HessianMultiplyFcn: [] MaxFunctionEvaluations:‘100 * numberOfVariables MaxIterations: 400 OptimalityTolerance: 1.0000 e-06 OutputFcn: [] PlotFcn: [] StepTolerance: 1.0000 e-06 SubproblemAlgorithm:“重心”TypicalX: ' (numberOfVariables, 1)的显示选项不习惯目前的算法(“信赖域”)
选择= optimset (“GradObj”,“上”)
选择=结构字段:显示:[]MaxFunEvals:[]麦克斯特:[]TolFun: [] TolX: [] FunValCheck: [] OutputFcn: [] PlotFcns: [] ActiveConstrTol:[]算法:[]AlwaysHonorConstraints: [] DerivativeCheck:[]诊断:[]DiffMaxChange: [] DiffMinChange: [] FinDiffRelStep: [] FinDiffType: [] GoalsExactAchieve: [] GradConstr: [] GradObj:”“HessFcn:[]黑森:[]HessMult: [] HessPattern: [] HessUpdate: [] InitBarrierParam: [] InitTrustRegionRadius:雅可比矩阵[]:[]JacobMult: [] JacobPattern:[]大规模的:[]MaxNodes: [] MaxPCGIter: [] MaxProjCGIter: [] MaxSQPIter: [] MaxTime: [] MeritFunction: [] MinAbsMax: [] NoStopIfFlatInfeas: [] ObjectiveLimit: [] PhaseOneTotalScaling:[]预调节器:[]PrecondBandWidth: [] RelLineSrchBnd: [] RelLineSrchBndDuration: [] ScaleProblem:[]单工:[]SubproblemAlgorithm: [] TolCon: [] TolConSQP: [] TolGradCon: [] TolPCG: [] TolProjCG: [] TolProjCGAbs: [] TypicalX: [] UseParallel: []