创建或编辑一个最优化参数选项
句法规则
options = optimset('param1',value1,'param2',value2,...)
%设置所有参数及其值,未设置的为默认值options =
optimset
%全部设置为默认
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 |
函数允许估值的最大值. |
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 |
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 , and
lsqnonneg |
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 and
lsqnonneg |
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 for
linprog ,
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 .
This
statement returns an optimization options structure that contains
all the parameter names and default values relevant to the function
fminbnd .
|