Le moyen le plus simple de saisir une matrice est d’entrer ses éléments entre deux crochets « [ ] », en séparant les lignes par des points-virgules et les colonnes par des blancs ou des virgules.

>> z = [5 0; 1 50; 0 60]

z =
     5     0
     1    50
     0    60

 

Déclaration d’une matrice vide

>> mat = []
mat =
     []

>> whos mat
  Name      Size            Bytes  Class     Attributes
  mat       0x0                 0  double

 

L’Opérateur « deux-points »

Il permet de créer un vecteur régulièrement espacé.

Xi : inc : Xf

  • Xi, élément de départ du vecteur
  • inc, valeur de l’incrément
  • Xf, critère de fin du vecteur

Les éléments de ce vecteur sont les résultats de la suite d’incrémentation partant de Xi et ne dépassant pas Xf.

  • L’incrément peut être négatif
  • L’incrément peut être omis s’il vaut 1
  • Le vecteur peut être vide selon les valeurs de Xi et Xf
>> 1:10
ans =
     1     2     3     4     5     6     7     8     9    10

>> 1:0.2:2
ans =
    1.0000    1.2000    1.4000    1.6000    1.8000    2.0000

>> 4:-1:1
ans =
     4     3     2     1

>> 2:1:1
ans =
   Empty matrix: 1-by-0

Remarque : Afin d’éviter l’affichage du résultat d’une expression quelconque, on terminera celle-ci par un point-virgule.

 

Fonctions de création de matrices élémentaires

Ci-dessous, quelques exemples de fonctions qui vous permettrons de générer facilement des matrices utiles dans la vie de tous les jours.

  • ones : matrice de 1 de la taille voulue;
  • zéros : matrice de 0 de la taille voulue;
  • eye : matrice identité de la taille voulue;
  • linspace : vecteur de N valeurs linéairement réparties entre 2 valeurs;
  • logspace : vecteur de N valeurs logarithmiquement réparties entre 2 valeurs;
  • rand : matrice de la taille voulue dont les éléments sont le résultat d’une distribution aléatoire uniforme;
  • randn : matrice de la taille voulue dont les éléments sont le résultat d’une distribution aléatoire normale;
  • magic : carré magique de taille quelconque

 

Créer une matrice remplie de 0 ?

>> M = zeros(2,3)

M =
     0     0     0
     0     0     0

>> M = zeros(3)

M =
     0     0     0
     0     0     0
     0     0     0

>> M(4,2) = 0

M =
     0     0     0
     0     0     0
     0     0     0
     0     0     0

 

Créer une matrice remplie de 1 ?

>> M = ones(2,4)

M =
     1     1     1     1
     1     1     1     1

>> M = ones(4)

M =
     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1

 

Créer une matrice remplie de 100 ?

>> M = ones(4,3)*100

M =
   100   100   100
   100   100   100
   100   100   100
   100   100   100

>> M = zeros(4,3);
>> M(:) = 100

M =
   100   100   100
   100   100   100
   100   100   100
   100   100   100

>> M = repmat (100, 4, 3)

M =
   100   100   100
   100   100   100
   100   100   100
   100   100   100

 

Créer une matrice diagonale

>> M = eye(5)

M =
     1     0     0     0     0
     0     1     0     0     0
     0     0     1     0     0
     0     0     0     1     0
     0     0     0     0     1

>> M = eye(5,2)

M =
     1     0
     0     1
     0     0
     0     0
     0     0

>> M = eye(5);

>> M = M(:, end:-1:1)

M =
     0     0     0     0     1
     0     0     0     1     0
     0     0     1     0     0
     0     1     0     0     0
     1     0     0     0     0­