Error using optimoptions (Reference to non-existent field 'TolFunValue')

9 visualizzazioni (ultimi 30 giorni)
I have a function that I am trying to solve using fsolve and optimoptions. The code is as follows:
fun = @meow;
x0 = [0,0];
options = optimoptions('fsolve','Algorithm','levenberg-marquardt',...
'Display','iter','TolFun',1e-20,'TolX',1e-20,'MaxFunctionEvaluations', 12000,'MaxIterations',600);
[x,fval,exitflag,output] = fsolve(fun,x0,options)
and the function @meow is as follows (named "meow" obviously)
function catsound = meow(x)
catsound(1) = 2*x(1)-x(2);
catsound(2) = x(1)-0.5;
When running the code as is, it produced an error that says the following:
"Error using optimoptions (line 124)
Reference to non-existent field 'TolFunValue'.
Error in solve4cat (line 3)
options = optimoptions('fsolve','Algorithm','levenberg-marquardt',..."
If I remove the optimoptions, it solves it perfectly. The real code is more complicated than this for sure. When I remove the optimoptions of my real code, the answer that I get is just below the guess that I am providing for the function, which is weird. Can anyone help in this? Thank you in advance.

Risposta accettata

Stephan
Stephan il 6 Dic 2020
For optimoptoptions the correct option is FunctionTolerance. The usage of TolFunValue is the equivalent option when you use optimset instead. See here for more details.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by