Find the Argmin of a vector
11 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Help:
Let x be a vector and B_1...B_p p matrices,
I look for the index j* of the matrix such that
||B_j*||=min ||B_i x||, (||.||=norm)
How do I write this with matlab?
5 Commenti
Walter Roberson
il 8 Ago 2020
You have variables named B_ followed by a number, and you want to process the whole series of variables. That is bad programming practice. You should have avoided naming the variables that way, and should have used (for example) a cell array.
Are you trying to find which of the B_ arrays leads to the smallest norm given a vector x? If so then if you had the arrays represented as a cell array, that would only be a small number of statements.
Risposta accettata
Matt J
il 8 Ago 2020
Modificato: Matt J
il 9 Ago 2020
You should have avoided naming the variables that way, and should have used (for example) a cell array.
Indeed. Here's an example of how to do it when that is the case.
Bcell={rand(5), rand(5), rand(5), rand(5)}; %B1,...,Bp p=4
[~, jstar] = min(cellfun(@(B) norm(B*x),Bcell)) %EDITED
5 Commenti
Matt J
il 10 Ago 2020
You're very welcome, but please Accept-click the answer if you got it working.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!