Fminunc Stopping Critera beyond StepTol and FunTol

1 visualización (últimos 30 días)
Lorcan Conlon
Lorcan Conlon el 15 de Sept. de 2020
I have a function whos input is a 83 element vector and whos output is a 8x8 matrix. I am tryin to use fminunc to get my output matrix as close as possible to a target matrix which is just a random 8x8 unitary matrix. fminunc is already getting me very close to the desired matrix with the following code:
fun = @(x) sum(sum(abs(Urand-UT([x]))));
x0=randn(83,1);
options = optimoptions('fminunc','Display','Iter','FunctionTolerance',1e-30,'StepTolerance',1e-30,'MaxFunctionEvaluations',1e9,'MaxIter',1e9,'OptimalityTolerance',1e-30);
[x,fval] = fminunc(fun,x0,options);
This generates the target matrix to within 1e-5. However i want to know how I can get even closer. The stop message is
"fminunc stopped because it cannot decrease the objective function along the current search direction."
I assume there is some way which I can make the solver take smaller steps so that the function might decrease just a little bit more. However Ido not know how to do this beyond what i have done in setting the tolerances. Can anyone help with this?

Respuestas (0)

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by