Elementwise indexing of a vector by a multidimentional array
이전 댓글 표시
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?
답변 (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
카테고리
도움말 센터 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!