Optimization Problem using fminunc

Does anyone know how to solve this problem?
Local minimum possible.
fminunc stopped because it cannot decrease the objective function
along the current search direction.
<stopping criteria details>

Respuestas (1)

John D'Errico
John D'Errico el 21 de En. de 2019

1 voto

Why is it a problem?
You are trying to minimize a function. fminunc stopped, having told you that is cannot go any further, because it cannot decrease the function from where it stopped. That sounds like success to me. At least, it MIGHt be success.
Does the resulting solution not make sense to you? That might be indicative that you chose poor starting values. Or it might indicate your objective function was written improperly, and you are minimizing the wrong thing.
But we have no real indication there is any problem at all.

1 comentario

christina
christina el 21 de En. de 2019
Editada: christina el 21 de En. de 2019
I am writing you my code, as I might give you a better idea about what I am trying to do:
size of A is 576 x 576 and size of F is 1296 x 576.
A is a random matrix and F is some complex matrix.
A = ...;
F = ...;
d0 = ones(n,1)
d = fminunc(@(x)fun(x,A,F),d0)
% Objective function (spectral norm)
function obj = fun(d,A,F)
D = diag(d);
obj = norm(A-F'*D*F,2)
% obj = norm(A-F'*D*F,inf)
end

Iniciar sesión para comentar.

Productos

Versión

R2018a

Etiquetas

Preguntada:

el 21 de En. de 2019

Editada:

el 21 de En. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by