Find the Argmin of a vector

11 vues (au cours des 30 derniers jours)
Mohsen Dlala
Mohsen Dlala le 8 Août 2020
Commenté : Matt J le 10 Août 2020
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 commentaires
Mohsen Dlala
Mohsen Dlala le 8 Août 2020
@Walter Roberson
As I'm a beginner in Matlab, I didn't understand anything, anyway, thank you very much for your answer.
Walter Roberson
Walter Roberson le 8 Août 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.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 8 Août 2020
Modifié(e) : Matt J le 9 Août 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 commentaires
Mohsen Dlala
Mohsen Dlala le 9 Août 2020
Thanks very mach Matt
Matt J
Matt J le 10 Août 2020
You're very welcome, but please Accept-click the answer if you got it working.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical 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!

Translated by