非线性优化-matlab函数库-optimset

创建或编辑一个最优化参数选项

句法规则

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

fgoalattainfmincon,fminimaxfminuncfseminf,fsolvelsqcurvefitlsqnonlin

Diagnostics

Print diagnostic information about the function to be minimized or solved.

B

All but fminbnd,fminsearchfzero, andlsqnonneg

DiffMaxChange

Maximum change in variables for finite difference derivatives.

M

fgoalattainfmincon,fminimaxfminuncfseminf,fsolvelsqcurvefitlsqnonlin

DiffMinChange

Minimum change in variables for finite difference derivatives.

M

fgoalattainfmincon,fminimaxfminuncfseminf,fsolvelsqcurvefitlsqnonlin

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

fgoalattainfmincon,fminimax

GradObj

Gradient(s) for the objective function(s) defined by the user.

B

fgoalattainfmincon,fminimaxfminuncfseminf

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

fminconfminunc

HessMult

Hessian multiply function defined by the user.

L

fminconfminunc,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

fminconfminunc

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

fsolvelsqcurvefit,lsqnonlin

JacobMult

Jacobian multiply function defined by the user.

L

fsolvelsqcurvefitlsqlin,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

fsolvelsqcurvefit,lsqnonlin

LargeScale

Use large-scale algorithm if possible.

B

fminconfminunc,fsolvelinproglsqcurvefit,lsqlinlsqnonlinquadprog

LevenbergMarquardt

Chooses Levenberg-Marquardt over Gauss-Newton algorithm.

M

lsqcurvefitlsqnonlin

LineSearchType

Line search algorithm choice.

M

fminuncfsolve,lsqcurvefitlsqnonlin

MaxFunEvals

Maximum number of function evaluations allowed.

B

fgoalattainfminbnd,fminconfminimax,fminsearchfminunc,fseminffsolvelsqcurvefit,lsqnonlin

MaxIter

Maximum number of iterations allowed.

B

All but fzero andlsqnonneg

MaxPCGIter

Maximum number of PCG iterations allowed.

L

fminconfminunc,fsolvelsqcurvefitlsqlin,lsqnonlinquadprog

MeritFunction

Use goal attainment/minimax merit function (multiobjective) vs. fmincon (single objective).

M

fgoalattainfminimax

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

fminconfminunc,fsolvelsqcurvefitlsqlin,lsqnonlinquadprog

TolCon

Termination tolerance on the constraint violation.

B

fgoalattainfmincon,fminimaxfseminf

TolFun

Termination tolerance on the function value.

B

fgoalattainfmincon,fminimaxfminsearch,fminuncfseminffsolve,linprog (large-scale only),lsqcurvefitlsqlin (large-scale only), lsqnonlin,quadprog (large-scale only)

TolPCG

Termination tolerance on the PCG iteration.

L

fminconfminunc,fsolvelsqcurvefitlsqlin,lsqnonlinquadprog

TolX

Termination tolerance on x.

B

All functions except the medium-scale algorithms forlinproglsqlin, and quadprog

TypicalX

Typical x values. The length of the vector is equal to the number of elements in x0, the starting point.

L

fminconfminunc,fsolvelsqcurvefitlsqlin,lsqnonlinquadprog

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')

转:https://blog.csdn.net/listener51/article/details/25164847?utm_source=blogxgwz18

一般常用的LM最小二乘拟合设置:
错误

optimset('LevenbergMarquardt','on','LargeScale','off');
正确

options = optimset('Display','off','TolX',eps,'TolFun',eps,'LargeScale','on',...
   'Algorithm','Levenberg-Marquardt');
转:https://blog.csdn.net/u012319493/article/details/77801454?utm_source=blogxgwz13

猜你喜欢

转载自blog.csdn.net/eric_e/article/details/83215888