创建或编辑一个最优化参数选项
句法规则
options = optimset('param1',value1,'param2',value2,...) %设置所有参数及其值,未设置的为默认值
options = optimset(optimfun) %设置与最优化函数有关的参数为默认
options = optimset(oldopts,'param1',value1,...) %复制一个已存在的选项,修改特定项
options = optimset(oldopts,newopts) %用另一个新选项合并目前选项因素
Parameter
Value
Description
Display
'off' | 'iter' | 'final' | 'notify'
'off' 表示不显示输出; 'iter' 显示每次迭代的结果; 'final' 只显示最终结果; 'notify' 只在函数不收敛的时候显示结果.
MaxFunEvals
positive integer
函數求值運算(Function Evaluation)的最高次數
MaxIter
positive integer
最大疊代次數.
TolFun
positive scalar
函数迭代的终止误差.
TolX
positive scalar
结束迭代的X值.
L - 只用于大规模数据拟合
M - 中等规模
B - 两者都可以
Parameter Name
Description
L, M, B
Used by Functions
DerivativeCheck
Compare user-supplied analytic derivatives (gradients or Jacobian) to finite differencing derivatives.
M
Diagnostics
Print diagnostic information about the function to be minimized or solved.
B
DiffMaxChange
Maximum change in variables for finite difference derivatives.
M
DiffMinChange
Minimum change in variables for finite difference derivatives.
M
Display
Level of display. 'off' displays no output; 'iter' displays output at each iteration; 'final' displays just the final output; 'notify' displays output only if function does not converge.
B
All. See the individual function reference pages for the values that apply.
GoalsExactAchieve
Number of goals to achieve exactly (do not over- or underachieve).
M
GradConstr
Gradients for the nonlinear constraints defined by the user.
M
GradObj
Gradient(s) for the objective function(s) defined by the user.
B
Hessian
If 'on', function uses user-defined Hessian, or Hessian information (when using HessMult), for the objective function. If 'off', function approximates the Hessian using finite differences.
L
HessMult
Hessian multiply function defined by the user.
L
HessPattern
Sparsity pattern of the Hessian for finite differencing. The size of the matrix is n-by-n, where n is the number of elements in x0, the starting point.
L
HessUpdate
Quasi-Newton updating scheme.
M
Jacobian
If 'on', function uses user-defined Jacobian, or Jacobian information (when using JacobMult), for the objective function. If 'off', function approximates the Jacobian using finite differences.
B
JacobMult
Jacobian multiply function defined by the user.
L
JacobPattern
Sparsity pattern of the Jacobian for finite differencing. The size of the matrix is m-by-n, where m is the number of values in the first argument returned by the user-specified function fun, and n is the number of elements in x0, the starting point.
L
LevenbergMarquardt
Chooses Levenberg-Marquardt over Gauss-Newton algorithm.
M
LineSearchType
Line search algorithm choice.
M
MaxIter
Maximum number of iterations allowed.
B
MaxPCGIter
Maximum number of PCG iterations allowed.
L
MeritFunction
Use goal attainment/minimax merit function (multiobjective) vs. fmincon (single objective).
M
MinAbsMax
Number of F(x) to minimize the worst case absolute values
M
NonlEqnAlgorithm
Choose Levenberg-Marquardt or Gauss-Newton over the trust-region dogleg algorithm.
M
PrecondBandWidth
Upper bandwidth of preconditioner for PCG.
L
TolCon
Termination tolerance on the constraint violation.
B
TolFun
Termination tolerance on the function value.
B
TolPCG
Termination tolerance on the PCG iteration.
L
TolX
Termination tolerance on x.
B
All functions except the medium-scale algorithms forlinprog, lsqlin, and quadprog
TypicalX
Typical x values. The length of the vector is equal to the number of elements in x0, the starting point.
L
Examples
options = optimset('Display','iter','TolFun',1e-8)
This statement makes a copy of the options structure called options, changing the value of the TolX parameter and storing new values in optnew.
· optnew = optimset(options,'TolX',1e-4);
This statement returns an optimization options structure that contains all the parameter names and default values relevant to the function fminbnd.
· optimset('fminbnd')