Find the Argmin of a vector
11 次查看(过去 30 天)
显示 更早的评论
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 个评论
Walter Roberson
2020-8-8
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.
采纳的回答
Matt J
2020-8-8
编辑:Matt J
2020-8-9
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!