Changing the default tolerance for fmincon

I am doing a computation using fmincon, and it says tolfun=1e-06 and options.TolCon = 1e-06. I am trying to have a tolerance of 10^-20 instead.
I guess my question is,how do I change the tolerance for fmincon?

 채택된 답변

Walter Roberson
Walter Roberson 2013년 2월 16일

1 개 추천

options = optimset('TolCol', 1e-6);
fmincon(....., options)

댓글 수: 2

Del
Del 2013년 2월 16일
Thanks! It worked perfect
Rahul Bhadani
Rahul Bhadani 2021년 1월 4일
편집: Rahul Bhadani 2021년 1월 4일
This answer is no longer valid in 2020, with R2020a version.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Brian B
Brian B 2013년 2월 16일

1 개 추천

You can pass an options structure to fmincon. You create the structure using optimset.

댓글 수: 2

When I use this code fmincon(....., options), I get the following error:
Error using optimfcnchk (line 91) NONLCON must be a function.
Error in fmincon (line 410) confcn = optimfcnchk(NONLCON,'fmincon',length(varargin),funValCheck,flags.gradconst,false,true);
Error in Fitting_EIS_RQ_RC (line 39) x_final = fmincon(f,x_initial,[],[],[],[],[0,0,0,0,0,0,0,0],[10^4,10^4,10^4,10^4,10^4,10^4,10^4,1], options);
You missed specifying [] for the nonlcon input between ub and the options structure.
x_final = fmincon(f,x_initial,... % fun, x0
[],[],[],[], ... % A, b, Aeq, beq
[0,0,0,0,0,0,0,0], ... % lb
[10^4,10^4,10^4,10^4,10^4,10^4,10^4,1], ... % ub
options); % this should be nonlcon, options
Make that last line:
[], options);

댓글을 달려면 로그인하십시오.

Alan Weiss
Alan Weiss 2013년 2월 19일
편집: John Kelly 2014년 6월 3일

1 개 추천

Seting a tolerance of 1e-20 is the same as disabling that tolerance, or setting it to 0. See the documentation of tolerances.
Alan Weiss
MATLAB mathematical toolbox documentation

카테고리

도움말 센터File Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기

질문:

Del
2013년 2월 16일

편집:

2021년 1월 4일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by