创建或编辑一个最优化参数选项
句法规则
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.
|