创建或编辑一个最优化参数选项
句法规则
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值. |
Parameter Name |
Description |
L, M, B |
Used by Functions |
DerivativeCheck |
Compare user-supplied analytic derivatives (gradients or Jacobian) to finite differencing derivatives. |
M |
fgoalattain, fmincon,fminimax, fminunc, fseminf,fsolve, lsqcurvefit, lsqnonlin |
Diagnostics |
Print diagnostic information about the function to be minimized or solved. |
B |
All but fminbnd,fminsearch, fzero, andlsqnonneg |
DiffMaxChange |
Maximum change in variables for finite difference derivatives. |
M |
fgoalattain, fmincon,fminimax, fminunc, fseminf,fsolve, lsqcurvefit, lsqnonlin |
DiffMinChange |
Minimum change in variables for finite difference derivatives. |
M |
fgoalattain, fmincon,fminimax, fminunc, fseminf,fsolve, lsqcurvefit, lsqnonlin |
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 |
fgoalattain |
GradConstr |
Gradients for the nonlinear constraints defined by the user. |
M |
fgoalattain, fmincon,fminimax |
GradObj |
Gradient(s) for the objective function(s) defined by the user. |
B |
fgoalattain, fmincon,fminimax, fminunc, fseminf |
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 |
fmincon, fminunc |
HessMult |
Hessian multiply function defined by the user. |
L |
fmincon, fminunc,quadprog |
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 |
fmincon, fminunc |
HessUpdate |
Quasi-Newton updating scheme. |
M |
fminunc |
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 |
fsolve, lsqcurvefit,lsqnonlin |
JacobMult |
Jacobian multiply function defined by the user. |
L |
fsolve, lsqcurvefit, lsqlin,lsqnonlin |
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 |
fsolve, lsqcurvefit,lsqnonlin |
LargeScale |
Use large-scale algorithm if possible. |
B |
fmincon, fminunc,fsolve, linprog, lsqcurvefit,lsqlin, lsqnonlin, quadprog |
LevenbergMarquardt |
Chooses Levenberg-Marquardt over Gauss-Newton algorithm. |
M |
lsqcurvefit, lsqnonlin |
LineSearchType |
Line search algorithm choice. |
M |
fminunc, fsolve,lsqcurvefit, lsqnonlin |
MaxFunEvals |
Maximum number of function evaluations allowed. |
B |
fgoalattain, fminbnd,fmincon, fminimax,fminsearch, fminunc,fseminf, fsolve, lsqcurvefit,lsqnonlin |
MaxIter |
Maximum number of iterations allowed. |
B |
All but fzero andlsqnonneg |
MaxPCGIter |
Maximum number of PCG iterations allowed. |
L |
fmincon, fminunc,fsolve, lsqcurvefit, lsqlin,lsqnonlin, quadprog |
MeritFunction |
Use goal attainment/minimax merit function (multiobjective) vs. fmincon (single objective). |
M |
fgoalattain, fminimax |
MinAbsMax |
Number of F(x) to minimize the worst case absolute values |
M |
fminimax |
NonlEqnAlgorithm |
Choose Levenberg-Marquardt or Gauss-Newton over the trust-region dogleg algorithm. |
M |
fsolve |
PrecondBandWidth |
Upper bandwidth of preconditioner for PCG. |
L |
fmincon, fminunc,fsolve, lsqcurvefit, lsqlin,lsqnonlin, quadprog |
TolCon |
Termination tolerance on the constraint violation. |
B |
fgoalattain, fmincon,fminimax, fseminf |
TolFun |
Termination tolerance on the function value. |
B |
fgoalattain, fmincon,fminimax, fminsearch,fminunc, fseminf, fsolve,linprog (large-scale only),lsqcurvefit, lsqlin (large-scale only), lsqnonlin,quadprog (large-scale only) |
TolPCG |
Termination tolerance on the PCG iteration. |
L |
fmincon, fminunc,fsolve, lsqcurvefit, lsqlin,lsqnonlin, quadprog |
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 |
fmincon, fminunc,fsolve, lsqcurvefit, lsqlin,lsqnonlin, quadprog |
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')