Optimization Problem using fminunc

2 次查看(过去 30 天)
christina
christina 2019-1-21
编辑: christina 2019-1-21
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>

回答(1 个)

John D'Errico
John D'Errico 2019-1-21
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 个评论
christina
christina 2019-1-21
编辑:christina 2019-1-21
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

请先登录,再进行评论。

类别

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

标签

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by