Effacer les filtres
Effacer les filtres

Solving a Bilinear Optimization Problem

9 vues (au cours des 30 derniers jours)
Royi Avital
Royi Avital le 9 Août 2012
Hello, I would like to optimize to following expression:
Note: All are matrices.
I'd like to find:
How would you do that in MATLAB?
How would you use 'lsnonlin'?
What would be the analytical Jacobian?
Thank You.

Réponse acceptée

Alan Weiss
Alan Weiss le 10 Août 2012
I am not sure that I understand your notation, such as \|| . \||_F. But if you can write your objective function as a sum of squares, then you can use lsqnonlin. Otherwise, use fminunc.
You need to formulate your problem so there is a single vector or matrix of unknowns, x, that is what you want to vary. For example, if C^2 is M-by-N, and E^2 is N-by-K, then you could write
C2 = reshape(x(1:M*N),M,N);
E2 = reshape(x(M*N+1:end),N,K);
and minimize over a vector x that has MN + NK components.
Because I do not understand your notation, I cannot tell you what the Jacobian might be. You can look here or here for some help on calculating Jacobians.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
  1 commentaire
Royi Avital
Royi Avital le 11 Août 2012
Hi, The A _F stands for the Frobenius norm. I could write it as a sum of squares yet 'lsnonlin' takes so much time to solve it and usually terminated prematurely.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by