Fminunc Stopping Critera beyond StepTol and FunTol

1 次查看(过去 30 天)
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?

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by