Solve for diagonal matrix D by minimizing the operator norm in Matlab
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
![Capture22.PNG](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199548/Capture22.png)
Say that the size of matrix is 576x576 and size of F is1296x576.
Which matlab function can I use to solve this problem?
1 commentaire
Réponse acceptée
Bruno Luong
le 21 Déc 2018
fminunc, fmincon and family.
8 commentaires
Bruno Luong
le 9 Jan 2019
Modifié(e) : Bruno Luong
le 9 Jan 2019
No. The standard math definition of VECTORIZE the matrix is
v = M(:)
M = reshape(v,[m,m])
Here
v = diag(M)
M = diag(v)
This is NOT vectorize.
FMINCON don't do anything beside minimize an objective function that user defines and provides. In the case Torsen's code
norm(A-F'*diag(D)*F,2)
is matrix 2-norm (maximum singular value).
Torsten's code is correct and do not need any modification.
You however needs to read careful the doc of fminunc, diag, norm.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!