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

카테고리

질문:

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