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>

回答(1 个)

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 个评论

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

请先登录,再进行评论。

类别

产品

版本

R2018a

标签

提问:

2019-1-21

编辑:

2019-1-21

Community Treasure Hunt

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

Start Hunting!

Translated by