Comment puis-je obtenir les deux dernières dimensions d'un N-D tableau comme un tableau 2D?
J'ai un tableau 3D dans MATLAB, avec size(myArray) = [100 100 50]
. Maintenant, je voudrais obtenir une couche en particulier, spécifié par un index de la première dimension, sous la forme d'une matrice 2D.
J'ai essayé myMatrix = myArray(myIndex,:,:);
, mais qui me donne un tableau 3D avec size(myMatrix) = [1 100 50]
.
Comment dois-je dire à MATLAB que je ne suis pas intéressé dans la première dimension (car il n'y a qu'une seule couche), de sorte qu'il peut simplifier la matrice?
Remarque: j'ai besoin de faire cela avec le deuxième indice, le rendu size(myMatrix) = [100 1 50]
au lieu de l'souhaité [100 50]
. Une solution devrait être applicable à la fois aux affaires, et de préférence à la troisième dimension.
OriginalL'auteur Tomas Aschan | 2011-04-19
Vous devez vous connecter pour publier un commentaire.
Utiliser le
squeeze
fonction qui supprime un singleton dimensions.Exemple:
C'est généralisé et pas besoin de vous soucier de la dimension qui vous êtes à l'indexation. Tous singleton dimensions sont évincés.
OriginalL'auteur abcd
OriginalL'auteur fdermishin
squeeze
,reshape
etpermute
sont probablement les trois fonctions les plus importantes lorsque vous traitez avec de la N-D des matrices. Juste pour avoir un exemple sur la façon d'utiliser le troisième fonction:OriginalL'auteur Daniel