Arg max without using a loop
Mostra commenti meno recenti
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
Risposta accettata
Più risposte (1)
Luca Gagliardone
il 8 Ago 2017
0 voti
2 Commenti
Adam
il 8 Ago 2017
Well, everything is linear indexing under the hood anyway.
Luca Gagliardone
il 9 Ago 2017
Categorie
Scopri di più su Matrix Indexing in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!