Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> MATLAB

MATLAB : Maîtriser les tableaux multidimensionnels et spéciaux

Dans MATLAB, toutes les variables de tous les types de données sont des tableaux multidimensionnels. Un vecteur est un tableau unidimensionnel et une matrice est un tableau bidimensionnel.

Nous avons déjà abordé les vecteurs et les matrices. Dans ce chapitre, nous discuterons des tableaux multidimensionnels. Mais avant cela, examinons certains types spéciaux de tableaux.

Tableaux spéciaux dans MATLAB

Cette section présente des fonctions qui créent des tableaux particuliers. Pour toutes ces fonctions, un seul argument crée un tableau carré, deux arguments créent un tableau rectangulaire.

La fonction zeros() crée un tableau rempli de zéros :

Par exemple :

zeros(5)

MATLAB exécute l'instruction et retourne le résultat suivant :

ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

La fonction ones() crée un tableau remplis de uns :

Par exemple :

ones(4,3)

MATLAB exécute l'instruction et retourne le résultat suivant :

ans = 1 1 1 1 1 1 1 1 1 1 1 1

La fonction eye() crée une matrice identité.

Par exemple :

eye(4)

MATLAB exécute l'instruction et retourne le résultat suivant :

ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

La fonction rand() crée un tableau de nombres aléatoires uniformément distribués sur (0,1) :

Par exemple :

rand(3, 5)

MATLAB exécute l'instruction et retourne le résultat suivant :

ans = 0.8147 0.9134 0.2785 0.9649 0.9572 0.9058 0.6324 0.5469 0.1576 0.4854 0.1270 0.0975 0.9575 0.9706 0.8003

Carré magique

Un carré magique est un carré qui produit la même somme lorsque ses éléments sont additionnés ligne par ligne, colonne par colonne ou en diagonale.

La fonction magic() crée un tableau de carré magique. Elle prend un argument unique qui donne la taille du carré. L'argument doit être un scalaire supérieur ou égal à 3.

magic(4)

MATLAB exécute l'instruction et retourne le résultat suivant :

ans = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1

Tableaux multidimensionnels

Un tableau ayant plus de deux dimensions est appelé tableau multidimensionnel dans MATLAB. Les tableaux multidimensionnels sont une extension de la matrice bidimensionnelle classique.

Généralement, pour générer un tableau multidimensionnel, on crée d'abord un tableau bidimensionnel puis on l'étend.

Par exemple, créons un tableau bidimensionnel a :

a = [7 9 5; 6 1 9; 4 3 2]

MATLAB exécute l'instruction et retourne le résultat suivant :

a = 7 9 5 6 1 9 4 3 2

Le tableau a est un tableau 3 par 3 ; nous pouvons ajouter une troisième dimension à a en fournissant les valeurs comme suit :

a(:, :, 2) = [1 2 3; 4 5 6; 7 8 9]

MATLAB exécute l'instruction et retourne le résultat suivant :

a = ans(:,:,1) = 0 0 0 0 0 0 0 0 0 ans(:,:,2) = 1 2 3 4 5 6 7 8 9

Nous pouvons également créer des tableaux multidimensionnels en utilisant les fonctions ones(), zeros() ou rand().

Par exemple :

b = rand(4,3,2)

MATLAB exécute l'instruction et retourne le résultat suivant :

b(:,:,1) = 0.0344 0.7952 0.6463 0.4387 0.1869 0.7094 0.3816 0.4898 0.7547 0.7655 0.4456 0.2760 b(:,:,2) = 0.6797 0.4984 0.2238 0.6551 0.9597 0.7513 0.1626 0.3404 0.2551 0.1190 0.5853 0.5060

Nous pouvons aussi utiliser la fonction cat() pour construire des tableaux multidimensionnels. Elle concatène une liste de tableaux le long d'une dimension spécifiée :

Syntaxe de la fonction cat() :

B = cat(dim, A1, A2...)

Où :

Exemple

Créez un fichier script et saisissez le code suivant :

a = [9 8 7; 6 5 4; 3 2 1]; b = [1 2 3; 4 5 6; 7 8 9]; c = cat(3, a, b, [2 3 1; 4 7 8; 3 9 0])

Lorsque vous exécutez le fichier, il affiche :

c(:,:,1) = 9 8 7 6 5 4 3 2 1 c(:,:,2) = 1 2 3 4 5 6 7 8 9 c(:,:,3) = 2 3 1 4 7 8 3 9 0

Fonctions sur les tableaux

MATLAB fournit les fonctions suivantes pour trier, pivoter, permuter, redimensionner ou décaler le contenu des tableaux.

Fonction But
length Longueur d'un vecteur ou plus grande dimension d'un tableau
ndims Nombre de dimensions d'un tableau
numel Nombre d'éléments d'un tableau
size Dimensions d'un tableau
iscolumn Détermine si l'entrée est un vecteur colonne
isempty Détermine si un tableau est vide
ismatrix Détermine si l'entrée est une matrice
isrow Détermine si l'entrée est un vecteur ligne
isscalar Détermine si l'entrée est un scalaire
isvector Détermine si l'entrée est un vecteur
blkdiag Construit une matrice diagonale par blocs à partir des arguments d'entrée
circshift Décale un tableau de manière circulaire
ctranspose Transposée conjuguée complexe
diag Matrices diagonales et diagonales d'une matrice
flipdim Renverse un tableau le long d'une dimension spécifiée
fliplr Renverse une matrice de gauche à droite
flipud Renverse une matrice de haut en bas
ipermute Inverse la permutation des dimensions d'un tableau N-D
permute Réorganise les dimensions d'un tableau N-D
repmat Réplique et pavé un tableau
reshape Redimensionne un tableau
rot90 Fait pivoter une matrice de 90 degrés
shiftdim Décale les dimensions
issorted Détermine si les éléments d'un ensemble sont triés
sort Trie les éléments d'un tableau dans l'ordre croissant ou décroissant
sortrows Trie les lignes dans l'ordre croissant
squeeze Supprime les dimensions singulières
transpose Transposée
vectorize Vectorise une expression

Exemples

Les exemples suivants illustrent certaines des fonctions mentionnées ci-dessus.

Longueur, dimension et nombre d'éléments :

Créez un fichier script et saisissez le code suivant :

x = [7.1, 3.4, 7.2, 28/4, 3.6, 17, 9.4, 8.9]; length(x) % longueur du vecteur x y = rand(3, 4, 5, 2); ndims(y) % nombre de dimensions du tableau y s = ['Zara', 'Nuha', 'Shamim', 'Riz', 'Shadab']; numel(s) % nombre d'éléments dans s

Lorsque vous exécutez le fichier, il affiche le résultat suivant :

ans = 8 ans = 4 ans = 23

Décalage circulaire des éléments du tableau :

Créez un fichier script et saisissez le code suivant :

a = [1 2 3; 4 5 6; 7 8 9] % le tableau original a b = circshift(a,1) % décalage circulaire de la première dimension vers le bas de 1 c = circshift(a,[1 -1]) % décalage circulaire de la première dimension % vers le bas de 1 % et de la seconde dimension vers la gauche % de 1

Lorsque vous exécutez le fichier, il affiche le résultat suivant :

a = 1 2 3 4 5 6 7 8 9 b = 7 8 9 1 2 3 4 5 6 c = 8 9 7 2 3 1 5 6 4

Tri des tableaux

Créez un fichier script et saisissez le code suivant :

v = [23 45 12 9 5 0 19 17] % vecteur horizontal sort(v) % tri de v m = [2 6 4; 5 3 9; 2 0 1] % tableau bidimensionnel sort(m, 1) % tri de m le long des lignes sort(m, 2) % tri de m le long des colonnes

Lorsque vous exécutez le fichier, il affiche le résultat suivant :

v = 23 45 12 9 5 0 19 17 ans = 0 5 9 12 17 19 23 45 m = 2 6 4 5 3 9 2 0 1 ans = 2 0 1 2 3 4 5 6 9 ans = 2 4 6 3 5 9 0 1 2

Tableau de cellules

Les tableaux de cellules sont des tableaux de cellules indexées où chaque cellule peut stocker un tableau de dimensions et de types de données différents.

La fonction cell est utilisée pour créer un tableau de cellules. Syntaxe de la fonction cell :

C = cell(dim) C = cell(dim1,...,dimN) D = cell(obj)

Où :

Exemple

Créez un fichier script et saisissez le code suivant :

c = cell(2, 5); c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}

Lorsque vous exécutez le fichier, il affiche le résultat suivant :

c = { [1,1] = Red [2,1] = 1 [1,2] = Blue [2,2] = 2 [1,3] = Green [2,3] = 3 [1,4] = Yellow [2,4] = 4 [1,5] = White [2,5] = 5 }

Accès aux données dans les tableaux de cellules

Il existe deux façons de faire référence aux éléments d'un tableau de cellules :

Lorsque vous fermez les indices entre parenthèses, cela fait référence à l'ensemble de cellules.

Les indices de tableau de cellules entre parenthèses lisses font référence à des ensembles de cellules.

Par exemple :

c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}; c(1:2,1:2)

MATLAB exécute l'instruction et retourne le résultat suivant :

ans = { [1,1] = Red [2,1] = 1 [1,2] = Blue [2,2] = 2 }

Vous pouvez également accéder au contenu des cellules en indexant avec des accolades.

Par exemple :

c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}; c{1, 2:4}

MATLAB exécute l'instruction et retourne le résultat suivant :

ans = Blue ans = Green ans = Yellow

MATLAB

  1. Maîtriser les tableaux C# : Déclaration, initialisation et opérations
  2. Maîtriser les tableaux en escalier C# : Déclaration, initialisation et accès
  3. Techniques de copie de tableaux en Java : Guide complet
  4. Les tableaux en C++ : Déclaration, initialisation et techniques avec pointeurs
  5. Maîtriser l'allocation de tableaux dynamiques en C++ : Guide pratique avec exemples de code
  6. MATLAB : Aperçu complet de l'environnement de calcul numérique de référence
  7. Comprendre les variables dans MATLAB : Bases et exemples
  8. Commandes MATLAB essentielles pour un calcul efficace
  9. Maîtriser les matrices MATLAB : Création, indexation et manipulation