Elementwise indexing of a vector by a multidimentional array
Afficher commentaires plus anciens
I have:
- A, an n-dimentional array of integers, whose values are in the range 1-100,
- and T, a 1-dimentional, length 100 array of values.
I want a new n-dimentional array B which, for each corresponding (same position) integer c of A, has the value T(c).
What is the proper way to do this without a for loop, preferrably that works on a gpuArray?
Réponses (2)
n = 10 ;
A = randi(n,2,2,10) ;
B = rand(1,n) ;
iwant = B(A)
I have no idea what's ideal for gpuArray, but this is how it would be done with linear indexing.
T = 11:20; % a vector
A = randi([1 10],2,2,2) % a 3D array
B = T(A) % linear indexing
Catégories
En savoir plus sur Matrices and Arrays 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!