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
,zeros
ourand
. 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
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×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, utilisezi
ouj
.
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