permute
Permuter les dimensions d’un tableau
Syntaxe
Description
B = permute(
réorganise les dimensions d’un tableau dans l’ordre spécifié par le vecteur A
,dimorder
)dimorder
. Par exemple, permute(A,[2 1])
intervertit les dimensions de la ligne et de la colonne d’une matrice A
. En général, la ième dimension du tableau de sortie correspond à la dimension dimorder(i)
du tableau en entrée.
Exemples
Tableau 3D
Créez un tableau de 3 x 4 x 2 et permutez-le de manière à intervertir la première et la troisième dimension, ce qui donne un tableau de 2 x 4 x 3.
rng default
A = rand(3,4,2)
A = A(:,:,1) = 0.8147 0.9134 0.2785 0.9649 0.9058 0.6324 0.5469 0.1576 0.1270 0.0975 0.9575 0.9706 A(:,:,2) = 0.9572 0.1419 0.7922 0.0357 0.4854 0.4218 0.9595 0.8491 0.8003 0.9157 0.6557 0.9340
B = permute(A,[3 2 1])
B = B(:,:,1) = 0.8147 0.9134 0.2785 0.9649 0.9572 0.1419 0.7922 0.0357 B(:,:,2) = 0.9058 0.6324 0.5469 0.1576 0.4854 0.4218 0.9595 0.8491 B(:,:,3) = 0.1270 0.0975 0.9575 0.9706 0.8003 0.9157 0.6557 0.9340
szB = size(B)
szB = 1×3
2 4 3
Arguments d'entrée
A
— Tableau en entrée
vecteur | matrice | tableau multidimensionnel
Tableau en entrée, spécifié sous forme de vecteur, de matrice ou de tableau multidimensionnel.
dimorder
— Ordre des dimensions
vecteur ligne
Ordre des dimensions, spécifié sous la forme d’un vecteur ligne avec des éléments entiers positifs uniques représentant les dimensions du tableau en entrée.
Capacités étendues
Tall arrays
Calculer avec des arrays possédant plus de rangées que la mémoire ne peut en contenir.
Cette fonction supporte les tall arrays avec les limitations suivantes :
La permutation de la dimension tall (dimension 1) n’est pas supportée.
Pour plus d’informations, consultez Tall Arrays for Out-of-Memory Data.
Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.
Notes d’usage et limitations :
L’ordre des dimensions doit être une constante au compile-time pour des cell array hétérogènes en entrée. Pour plus d’informations, consultez Code Generation for Cell Arrays (MATLAB Coder).
Consultez Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder).
Environnement basé sur les threads
Exécutez du code en arrière-plan avec MATLAB® backgroundPool
ou accélérez le code avec Parallel Computing Toolbox™ ThreadPool
.
Cette fonction supporte entièrement les environnements basés sur des threads. Pour plus d’informations, consultez Run MATLAB Functions in Thread-Based Environment.
GPU Arrays
Accélérez le code en exécutant les calculs sur une unité de traitement graphique (GPU) avec Parallel Computing Toolbox™.
Cette fonction supporte entièrement les GPU arrays. Pour plus d’informations, consultez Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Distributed arrays
Divisez les tableaux volumineux dans la mémoire combinée de votre cluster avec Parallel Computing Toolbox™.
Cette fonction supporte entièrement les distributed arrays. Pour plus d’informations, consultez Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historique des versions
Introduit avant R2006aR2019b: Les arguments relatifs à l’ordre des dimensions non entiers ou complexes produisent une erreur
Depuis la version R2019b, la syntaxe permute(A,dimorder)
produit une erreur lorsque dimorder
est une valeur non entière ou complexe. Spécifiez plutôt des valeurs réelles, entières et positives pour dimorder
.
Ouvrir l'exemple
Vous possédez une version modifiée de cet exemple. Souhaitez-vous ouvrir cet exemple avec vos modifications ?
Commande MATLAB
Vous avez cliqué sur un lien qui correspond à cette commande MATLAB :
Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)