Main Content

Matrices et tableaux

MATLAB est l’abréviation de « matrix laboratory » (laboratoire de matrices). Tandis que les autres langages de programmation traitent généralement les nombres un par un, MATLAB® est conçu pour traiter principalement des matrices et des tableaux dans leur ensemble.

Toutes les variables de MATLAB sont des tableaux multidimensionnels, quel que soit le type de données. Une matrice est un tableau à deux dimensions fréquemment utilisé en algèbre linéaire.

Création d'un tableau

Pour créer un tableau avec quatre éléments sur une seule ligne, séparez les éléments à l’aide d’une virgule (,) ou d’une espace.

a = [1 2 3 4]
a = 1×4

     1     2     3     4

Ce type de tableau est un vecteur ligne.

Pour créer une matrice comportant plusieurs lignes, séparez les lignes à l’aide de points-virgules.

a = [1 3 5; 2 4 6; 7 8 10]
a = 3×3

     1     3     5
     2     4     6
     7     8    10

Une autre manière de créer une matrice est d’utiliser une fonction, telle que ones, zeros ou rand. Par exemple, créez un vecteur colonne de dimension 5 x 1 comportant des 0.

z = zeros(5,1)
z = 5×1

     0
     0
     0
     0
     0

Opérations sur les matrices et les tableaux

MATLAB vous permet de traiter toutes les valeurs d’une matrice avec un seul opérateur arithmétique ou une seule fonction.

a + 10
ans = 3×3

    11    13    15
    12    14    16
    17    18    20

sin(a)
ans = 3×3

    0.8415    0.1411   -0.9589
    0.9093   -0.7568   -0.2794
    0.6570    0.9894   -0.5440

Pour transposer une matrice, utilisez une apostrophe (') :

a'
ans = 3×3

     1     2     7
     3     4     8
     5     6    10

Vous pouvez effectuer une multiplication standard de matrices, qui calcule les produits intérieurs entre les lignes et les colonnes, à l’aide de l’opérateur *. Par exemple, confirmez que la multiplication d’une matrice par son inverse donne la matrice identité :

p = a*inv(a)
p = 3×3

    1.0000    0.0000   -0.0000
         0    1.0000   -0.0000
         0    0.0000    1.0000

Notez que p n’est pas une matrice d'entiers. MATLAB stocke les nombres sous la forme de valeurs à virgule flottante, et les opérations arithmétiques sont sensibles aux petites différences entre la valeur réelle et sa représentation en virgule flottante. Vous pouvez afficher plus de décimales à l’aide de la commande format :

format long
p = a*inv(a)
p = 3×3

   0.999999999999996   0.000000000000007  -0.000000000000002
                   0   1.000000000000000  -0.000000000000003
                   0   0.000000000000014   0.999999999999995

Réinitialisez l’affichage au format plus court à l’aide de

format short

format affecte uniquement l’affichage des nombres, pas la manière dont MATLAB les calcule ou les enregistre.

Pour effectuer une multiplication élément par élément plutôt qu’une multiplication matricielle, utilisez l’opérateur .* :

p = a.*a
p = 3×3

     1     9    25
     4    16    36
    49    64   100

Les opérateurs matriciels pour la multiplication, la division et la puissance ont chacun un opérateur de tableau correspondant qui fonctionne élément par élément. Par exemple, élevez chaque élément de a à la puissance trois :

a.^3
ans = 3×3

           1          27         125
           8          64         216
         343         512        1000

Concaténation

La concaténation est le processus consistant à joindre ensemble des tableaux pour en produire de plus grands. En fait, vous avez créé votre premier tableau en concaténant ses éléments individuels. La paire de crochets [] est l’opérateur de concaténation.

A = [a,a]
A = 3×6

     1     3     5     1     3     5
     2     4     6     2     4     6
     7     8    10     7     8    10

La concaténation de tableaux adjacents à l’aide de virgules est appelée concaténation horizontale. Chaque tableau doit comporter le même nombre de lignes. De même, lorsque les tableaux comportent le même nombre de colonnes, vous pouvez concaténer verticalement à l’aide de points-virgules.

A = [a; a]
A = 6×3

     1     3     5
     2     4     6
     7     8    10
     1     3     5
     2     4     6
     7     8    10

Nombres complexes

Les nombres complexes comportent une partie réelle et une partie imaginaire, où l’unité imaginaire est la racine carrée de -1.

sqrt(-1)
ans = 0.0000 + 1.0000i

Pour représenter la partie imaginaire des nombres complexes, utilisez i ou j.

c = [3+4i, 4+3j; -i, 10j]
c = 2×2 complex

   3.0000 + 4.0000i   4.0000 + 3.0000i
   0.0000 - 1.0000i   0.0000 +10.0000i