Quelques fonctions à connaître pour les tableaux

Transposition d'un tableau

La transposition d'une matrice ou d'un tableau consiste à transformer les lignes en colonnes, et inversement.

L'opérateur de transposition est le caractère ', et la fonction correspondante est la fonction transpose.

Exemple

À titre d'exemple, transposons un vecteur ligne en vecteur colonne :

>> L = [1 2 3 4];
 
>> C= L'
 
C =
    1
    2
    3
    4

Taille et longueur d'un tableau, nombre d'éléments

Quand on manipule un tableau, il est bien souvent utile de connaître la taille de ce tableau. On ne la connaît pas toujours a priori, si ce tableau est issu d'un traitement de données, ou provient d'une source tiers.

La fonction size appliquée à une matrice renvoie un tableau de deux entiers : le premier est le nombre de lignes, le second le nombre de colonnes. La commande fonctionne aussi sur les vecteurs et renvoie 1 pour le nombre de colonnes (ou lignes) d'un vecteur ligne (ou colonne).

Exemple

Soit le tableau \(R\) défini précédemment :

>> size(R)
 
ans =
    5 8

La fonction length donne la longueur d'un tableau, c'est-à-dire sa plus grande dimension.

Exemple

>> length(R)
 
ans =
    8

Conseil

Il est pratique d'utiliser cette fonction pour des vecteurs ligne ou colonne, puisqu'elle donne directement le nombre d'éléments que comportent ces vecteurs.

Il est possible de travailler avec des tableaux ayant \(n\) dimensions, avec \(n>2\), et toutes les fonctions que l'on a vu jusqu'ici sont définies pour des tableaux de dimensions quelconques.

Pour connaître le nombre de dimensions d'un tableau, on peut utiliser la fonction ndims. Cette fonction renvoie le nombre de dimensions du tableau, c'est-à-dire un entier supérieur ou égal à 2.

Remarque

La commande ndims(A) renvoie le même résultat que la commande length(size(A)).

La fonction numel donne le nombre d'éléments contenus dans un tableau.

Exemple

Soit le tableau \(R\) défini précédemment :

>> numel(R)
 
ans =
    40

Redimensionnement des tableaux

La fonction reshape permet de créer un tableau de dimensions spécifiées à partir des éléments d'un autre tableau déjà existant.

Exemple

>> X = 1:20 ;
>> Y = reshape(X,5,4)
 
Y =
    1 6 11 16
    2 7 12 17
    3 8 13 18
    4 9 14 19
    5 10 15 20

Y contient un tableau comportant 5 lignes et 4 colonnes qui contiennent l'ensemble des 20 éléments de X.

La fonction reshape permet un réarrangement des valeurs d'un vecteur ou d'une matrice, en vue d'obtenir une nouvelle matrice ayant des dimensions choisies. Tous les réarrangements sont envisageables, du moment que la matrice finale a le même nombre d'éléments que la matrice initiale.

Exemple

>> Z = reshape(Y,2,10)
 
Z =
    1 3 5 7 9 11 13 15 17 19
    2 4 6 8 10 12 14 16 18 20

On pourrait utiliser cette fonction reshape pour transformer n'importe quelle matrice en un vecteur colonne... mais il y a plus simple, en utilisant le caractère :.

Exemple

Si l'on souhaite obtenir un vecteur colonne A, contenant toutes les valeurs de Z, il suffit d'écrire :

>> A = Z(:) ;

Complément

Cette commande est également utile pour s'assurer que tous les vecteurs sont des vecteurs colonnes.

>> A = A(:) ;

Si A est déjà un vecteur colonne, il n'y a pas de modification ; si A est un vecteur ligne, il est alors transformé en vecteur colonne.