Main Content

Matrices et tableaux

MATLABest 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 destableauxmultidimensionnels, quel que soit le type de données. Unematriceest 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×41 2 3 4

Ce type de tableau est unvecteur 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×31 3 5 2 4 6 7 8 10

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

z = zeros(5,1)
z =5×10 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×311 13 15 12 14 16 17 18 20
sin(a)
ans =3×30.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×31 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×31.0000 0 0 0 1.0000 0 0 0 1.0000

Notez quep不一个矩阵d 'entiers。MATLAB stocke莱斯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 commandeformat:

formatlongp = a*inv(a)
p =3×30.999999999999996 0 0 0 1.000000000000000 0 0 0 0.999999999999998

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

formatshort

formataffecte 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×31 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 deaà la puissance trois :

a.^3
ans =3×31 27 125 8 64 216 343 512 1000

Concaténation

Laconcaténationest 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×61 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énationhorizontale. 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énerverticalementà l’aide de points-virgules.

A = [a; a]
A =6×31 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, utiliseziouj.

c = [3+4i, 4+3j; -i, 10j]
c =2×2 complex3.0000 + 4.0000我4.0000 + 3.0000 0.0000 - 1.00000.0000 +10.0000i