Criss-cross indexing of array elements
Afficher commentaires plus anciens
Hello, I'm not sure how to best describe my intention, so I'll use an example:
Say I have a 3D-array:
A(:,:,1) = [1 2 ; 3 4]
A(:,:,2) = [5 6 ; 7 8]
and a 2x2 matrix:
B = [1 2 ; 1 2]
I want MATLAB to give me a 2x2 matrix comprised of elements of A, where the 3rd-dimension position of the element that is picked is indexed by the matrix B. So, in this example:
C = A(:,:,B)
should return [1 6 ; 3 8], because it picks the elements of A(:,:,1) in the first column, and the elements of A(:,:,2) in the second column of the 2x2 matrix.
I could see this potentially being achieved with linear indexing, but is there a cleaner way?
Thanks!
1 commentaire
Azzi Abdelmalek
le 30 Mar 2016
This is not clear
Réponse acceptée
Plus de réponses (0)
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!