Fminunc Stopping Critera beyond StepTol and FunTol

3 views (last 30 days)
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?

Answers (0)

Community Treasure Hunt

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

Start Hunting!