Arg max without using a loop
Afficher commentaires plus anciens
I am looking for a method to reproduce the following without using a loop.
The issues come from the fact that the matrices I am using are too big and I could save some space avoiding to create a third matrix C to do the job.
My aim is to find some function f that does something similar to B = f(B(policy)). Is it possible to do it?
A = rand(10,20,30);
B = rand(10,20,30);
[A_hat, policy] = max(A,[],3);
for i = 1:10
for ii = 1:20
C = B(i,ii,policy(i,ii));
end
end
Thanks for the attention.
Sincerely
Luca
Réponse acceptée
Plus de réponses (1)
Luca Gagliardone
le 8 Août 2017
0 votes
2 commentaires
Adam
le 8 Août 2017
Well, everything is linear indexing under the hood anyway.
Luca Gagliardone
le 9 Août 2017
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!