Filter löschen
Filter löschen

Changing the default tolerance for fmincon

21 Ansichten (letzte 30 Tage)
Del
Del am 16 Feb. 2013
Bearbeitet: Rahul Bhadani am 4 Jan. 2021
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?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 16 Feb. 2013
options = optimset('TolCol', 1e-6);
fmincon(....., options)
  2 Kommentare
Del
Del am 16 Feb. 2013
Thanks! It worked perfect
Rahul Bhadani
Rahul Bhadani am 4 Jan. 2021
Bearbeitet: Rahul Bhadani am 4 Jan. 2021
This answer is no longer valid in 2020, with R2020a version.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Brian B
Brian B am 16 Feb. 2013
You can pass an options structure to fmincon. You create the structure using optimset.
  2 Kommentare
Ehsan Khorsandnejad
Ehsan Khorsandnejad am 5 Apr. 2018
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);
Steven Lord
Steven Lord am 5 Apr. 2018
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);

Melden Sie sich an, um zu kommentieren.


Alan Weiss
Alan Weiss am 19 Feb. 2013
Bearbeitet: John Kelly am 3 Jun. 2014
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

Community Treasure Hunt

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

Start Hunting!

Translated by