Académique Documents
Professionnel Documents
Culture Documents
Introduction
Une fois les variables créées dans MATLAB, elles peuvent être utilisées dans une grande
variété d'opérations mathématiques. Dans le chapitre 1, les variables utilisées dans les
opérations mathématiques ont toutes été définies comme des scalaires. Cela signifie qu'ils
étaient tous des matrices (matrices avec une ligne et une colonne qui n'ont qu'un seul élément)
et les opérations mathématiques ont été effectuées avec des nombres uniques. Cependant, les
matrices peuvent être unidimensionnels (matrices avec une ligne ou avec une colonne),
bidimensionnels (matrices avec plusieurs lignes et colonnes) et même de dimensions
supérieures. Dans ces cas, les opérations mathématiques sont plus complexes.
MATLAB, comme son nom l'indique, est conçu pour effectuer des opérations matricielles
avancées qui ont de nombreuses applications en science et en ingénierie. Ce chapitre présente
les opérations mathématiques de base les plus courantes que MATLAB effectue à l'aide de
matrices.
L'addition et la soustraction sont des opérations relativement simples et sont traitées en premier,
dans la section 3.1. Les autres opérations de base - multiplication, division et exponentiation -
peuvent être effectuées dans MATLAB de deux manières différentes. La première méthode,
qui utilise les symboles standard (*, / et ^), et qui suit les règles de l'algèbre linéaire et est
présentée dans les sections 3.2 et 3.3. La deuxième méthode, appelée opérations élément par
élément, est décrite à la section 3.4. Ces opérations utilisent le .*, ./ et .^ (un point est tapé
devant le symbole de fonctionnement standard).
A
LM
3.1 Addition et soustraction
Les opérations + (addition) et - (soustraction) peuvent être utilisées pour ajouter (soustraire)
des matrices de taille identique (le même nombre de lignes et de colonnes) et pour ajouter
(soustraire) un scalaire à une matrice. Lorsque deux matrices sont compatibles, la somme, ou
la différence, des matrices est obtenue en ajoutant ou en soustrayant leurs éléments
correspondants.
Lorsqu'un scalaire (nombre) est ajouté (ou soustrait) à une matrice, le scalaire est ajouté (ou
soustrait) à tous les éléments du tableau. Voici des exemples :
>> v1=[2 7 9 -8 4]
v1 = Créer un vecteur nommé v1
2 7 9 -8 4
>> v1+6
Ajouter le scalaire 6 à v1. 6 est ajouté à
ans = chaque élément de v1
8 13 15 -2 10
>> A=[5 17 -11; 3 -7 9]
A =
5 17 -11 Définir une matrice A de taille (2x3)
3 -7 9
>> A-4
ans = Soustraire le scalaire 4 de A.
1 13 -15 4 est soustrait de chaque élément de A
-1 -11 5
𝐴=[
𝐴11
𝐴21
𝐴31
𝐴41
A𝐴12
𝐴22
𝐴32
𝐴42
𝐴13
𝐴23
𝐴33
𝐴43
𝐵11
] et 𝐵 = [𝐵21
𝐵31
𝐵12
𝐵22 ]
𝐵32
LM
Alors la matrice qui est obtenue avec l'opération A * B a des dimensions (4x2) dont les
éléments sont :
(𝐴11 𝐵11 + 𝐴12 𝐵21 + 𝐴13 𝐵31 ) (𝐴11 𝐵12 + 𝐴12 𝐵22 + 𝐴13 𝐵32 )
(𝐴21 𝐵11 + 𝐴22 𝐵21 + 𝐴23 𝐵31 ) (𝐴21 𝐵12 + 𝐴22 𝐵22 + 𝐴23 𝐵32 )
[ ]
(𝐴31 𝐵11 + 𝐴32 𝐵21 + 𝐴33 𝐵31 ) (𝐴31 𝐵12 + 𝐴32 𝐵22 + 𝐴33 𝐵32 )
(𝐴41 𝐵11 + 𝐴42 𝐵21 + 𝐴43 𝐵31 ) (𝐴41 𝐵12 + 𝐴42 𝐵22 + 𝐴43 𝐵32 )
Le produit de la multiplication de deux matrices carrées (elles doivent être de même taille) est
une matrice carrée de même taille. Cependant, la multiplication des matrices n'est pas
commutative. Cela signifie que si A et B sont tous les deux des matrices carrées, alors :
𝐴 ∗ 𝐵 ≠ 𝐵 ∗ 𝐴. De plus, l'opération de puissance ne peut être exécutée qu'avec une matrice
carrée (puisque A * A ne peut être effectuée que si le nombre de colonnes de la première matrice
est égal au nombre de lignes de la deuxième matrice).
Deux vecteurs ne peuvent être multipliés que s'ils ont le même nombre d'éléments, et l'un est
un vecteur ligne et l'autre est un vecteur colonne. La multiplication d'un vecteur ligne par un
vecteur colonne donne une matrice (1x1), qui est un scalaire. Il s'agit du produit scalaire de
deux vecteurs. (MATLAB a également une fonction intégrée, dot (a, b), qui calcule le produit
scalaire de deux vecteurs) Lorsque vous utilisez la fonction dot, les vecteurs a et b peuvent
chacun être un vecteur ligne ou un vecteur colonne (voir Tableau 3.1). La multiplication d'un
vecteur colonne par un vecteur ligne, chacun avec n éléments, donne une matrice La
multiplication du tableau est démontrée dans l’exemple suivant :
>> A=[1 4 3; 2 6 1; 5 2 8]
A =
1 4 3 Définir une matrice A de taille
2 6 1 (3x3)
5 2 8
>> B=[5 4;1 3;2 6]
B = Définir une matrice B de taille
5 4 (3x2)
1 3
2 6 A
>> C=A*B
C = Multipliez la matrice A par la
15 34 matrice B et affectez le résultat à
18 32
43 74 la variable C
LM
>> D=B*A
Error using * Essayer de multiplier B par A, B * A, donne
Incorrect dimensions for matrix multiplication. une erreur puisque le nombre de colonnes dans
Check that the number of columns in the first B est 2 et le nombre de lignes dans A est 3
matrix matches the number of rows in the second
matrix.
Lorsqu'une matrice est multiplié par un nombre, chaque élément du tableau est multiplié par le
nombre. Par exemple :
>> A=[2 5 7 0; 10 1 3 4; 6 2 11 5]
A = Définir une matrice A de taille
2 5 7 0 (3x4)
10 1 3 4
6 2 11 5
>> b=3
Attribuer le chiffre 3 à la variable
b =
3 b
>> b*A
ans = Multiplier la matrice A par b. Cela peut
6 15 21 0 être fait en tapant b * A ou A * b
30 3 9 12
18
>> C=A*5
C =
10
50
30
6
25
5
10
33
35
15
55
15
0
20
25
A Multiplier la matrice A par 5 et affecter
le résultat à une nouvelle variable C.
(Taper C = 5 * A donne le même
résultat)
LM
Les règles d'algèbre linéaire de la multiplication de matrices fournissent un moyen pratique
d'écrire un système d'équations linéaires. Par exemple, le système de trois équations à trois
inconnus :
𝐴11 𝑥1 + 𝐴12 𝑥2 + 𝐴13 𝑥3 = 𝐵1
𝐴21 𝑥1 + 𝐴22 𝑥2 + 𝐴23 𝑥3 = 𝐵2
𝐴31 𝑥1 + 𝐴32 𝑥2 + 𝐴33 𝑥3 = 𝐵3
>> A=[2 1 4; 4 1 8; 2 -1 3]
A =
2 1 4 Définir une matrice carrée A de taille
4 1 8 (3*3)
2 -1 3
>> B=inv(A)
B =
5.5 -3.5 2
Utiliser la fonction inv pour
2 -1 0 trouver l'inverse de A et l'affecter
-3 2 -1 àB
>> A*B
ans =
1 0 0 La multiplication de A et B
0 1 0 donne la matrice identité
0 0 1
>> A*A^-1
ans = Utiliser la puissance –1 pour
1 0 0 trouver l'inverse de A. La
0 1 0 A multiplier par A donne la matrice
0 0 1
identité
Note : Certaines matrices n'ont pas d'inverse. Une matrice n'a d'inverse que si elle est carrée
LM
et que son déterminant n'est pas égal à zéro.
3.3.3 Déterminant
Le déterminant est une fonction associée à des matrices carrées. Un bref examen des
déterminants est donné ci-dessous. Pour une couverture plus détaillée, reportez-vous aux livres
sur l'algèbre linéaire.
Le déterminant est une fonction qui associe à chaque matrice carrée A un nombre, appelé
déterminant de la matrice. Le déterminant est généralement désigné par det (A) ou | A |. Le
déterminant est calculé selon des règles spécifiques. Pour une matrice de second ordre (2 * 2),
la règle est :
𝑎 𝑎12
|𝐴| = [𝑎11 𝑎22 ] = 𝑎11 𝑎22 − 𝑎12 𝑎21
21
6 5
Par exemple : [ ] = 6 ∗ 9 − 5 ∗ 3 = 39
3 9
Le déterminant d'une matrice carrée peut être calculé avec la commande det (Tableau 3.1).
Dans MATLAB, la dernière équation peut être écrite en utilisant le bon caractère de division :
𝑿=𝑫/𝑪
L'exemple suivant montre l'utilisation de la division gauche et droite et de la fonction inv pour
résoudre un ensemble d'équations linéaires.
4𝑥 + 2𝑦 + 6𝑧 = 8
2𝑥 + 8𝑦 + 2𝑧 = 4
6𝑥 + 10𝑦 + 3𝑧 = 0
Solution :
En utilisant les règles d'algèbre linéaire démontrées précédemment, le système d'équations ci-
dessus peut être écrit sous la forme matricielle 𝑨 𝑿 = 𝑩 ou sous la forme 𝑿𝑪 = 𝑫 :
4 2 6 𝑥 8 4 2 6
[2 8 2] [𝑦] = [4] Ou [𝑥 𝑦 𝑧] [−2 8 10] = [8 4 0]
6 10 3 𝑧 0 6 2 3
>>
>>
>>
Xc
2.6341
Si deux vecteurs a et b sont a = [a1 a2 a3 a4] et b = [b1 b2 b3 b4], alors la multiplication, la division
et l'exponentiation élément par élément des deux vecteurs donne :
𝑎 .∗ 𝑏 = [𝑎1 ∗ 𝑏1 𝑎2 ∗ 𝑏2 𝑎3 ∗ 𝑏3 𝑎4 ∗ 𝑏4 ]
𝑎 ./ 𝑏 = [𝑎1 /𝑏1 𝑎2 /𝑏2 𝑎3 /𝑏3 𝑎4 /𝑏4 ]
𝑎 . ^ 𝑏 = [(𝑎1 )𝑏1 (𝑎2 )𝑏2 (𝑎3 )𝑏3 (𝑎4 )𝑏4 ]
𝐴11 𝐵11
𝐴 .∗ 𝐵 = [𝐴21 𝐵21
𝐴12 𝐵12
𝐴22 𝐵22
A
La multiplication et la division élément par élément des deux matrices donne :
𝐴13 𝐵13
𝐴23 𝐵23 ]
𝐴11 /𝐵11
𝐴 ./𝐵 = [𝐴21 /𝐵21
𝐴12 /𝐵12
𝐴22 /𝐵22
𝐴13 /𝐵13
𝐴23 /𝐵23 ]
LM
𝐴31 𝐵31 𝐴32 𝐵32 𝐴33 𝐵33 𝐴31 /𝐵31 𝐴32 /𝐵32 𝐴33 /𝐵33
Les calculs élément par élément sont très utiles pour calculer la valeur d'une fonction pour
plusieurs valeurs de la variable. Pour ce faire, définissez d'abord un vecteur qui contient les
valeurs de la variable indépendante, puis utilisez ce vecteur dans les calculs élément par élément
pour créer un vecteur dans lequel chaque élément est la valeur correspondante de la fonction.
- Exemple 1 :
>> x=[1:8]
x = Créer un vecteur x de huit éléments
1 2 3 4 5 6 7 8
>> y=x.^2-4*x Le vecteur x est utilisé dans les calculs
y =
élément par élément des éléments du
-3 -4 -3 0 5 12 21 32 vecteur y
- Exemple 2 :
A
Dans l'exemple précèdent 𝑦 = 𝑥 2 − 4𝑥. Le fonctionnement élément par élément est nécessaire
LM
z=[1:2:11] Créer un vecteur z de six éléments
z =
1 3 5 7 9 11
>> y=(z.^3 + 5*z)./(4*z.^2 - 10) Le vecteur z est utilisé dans les calculs
y = élément par élément des éléments du
-1 1.6154 1.6667 2.0323 2.465 2.9241 vecteur y
𝑧 3 +5𝑧
Dans cette exemple 𝑦 = 4𝑧 2−10. Les opérations élément par élément sont utilisées trois fois :
3.5 Utilisation des matrices dans les fonctions mathématiques Intégrées de Matlab
Les fonctions intégrées dans MATLAB sont écrites de telle sorte que lorsque l'argument
(entrée) est une matrice, l'opération définie par la fonction est exécutée sur chaque élément du
tableau. (On peut considérer l'opération comme une application élément par élément de la
fonction.) Le résultat (sortie) d'une telle opération est une matrice dans lequel chaque élément
est calculé en entrant l'élément correspondant du tableau d'arguments (entrée) dans la fonction.
Par exemple, si un vecteur à sept éléments est substitué dans la fonction cos (x), le résultat est
un vecteur à sept éléments dans lequel chaque élément est le cosinus de l'élément correspondant
en x. Ceci est illustré ci-dessous :
>> x=[0:pi/6:pi]
x = Créer un vecteur x de six éléments
0 0.5236 1.0472 1.5708 2.0944 2.618 3.1416 entre 0 et π avec un pas de π/6
>> y=cos(x)
y =
1 0.86603 0.5 6.1232e-17 -0.5 -0.86603 -1
d =
1 4 9
16 25 36
49 64 81 h est une matrice (3x3) dans laquelle
>> h=sqrt(d) chaque élément est la racine carrée de
h = l'élément correspondant dans la
1 2 3 matrice d
4 5 6
7 8 9
A
La caractéristique de MATLAB dans laquelle les matrices peuvent être utilisés comme
arguments dans les fonctions est appelée vectorisation.
LM
3.6 Fonctions intégrées pour analyser les matrices
MATLAB possède de nombreuses fonctions intégrées pour analyser les matrices. Le Tableau
3.1 répertorie certaines de ces fonctions :
La commande rand génère des nombres aléatoires uniformément distribués avec des valeurs
comprises entre 0 et 1. La commande peut être utilisée pour affecter ces nombres à un scalaire,
un vecteur ou une matrice, comme indiqué dans le Tableau 3.2.
La commande randi génère un entier aléatoire uniformément distribué. La commande peut être
utilisée pour affecter ces nombres à un scalaire, un vecteur ou une matrice, comme indiqué dans
le Tableau 3.3
>> d=randn(3,4)
d =
0.5840 -1.7223 0.9567 -1.2543
1.7052
0.8717
-2.2666
-2.1847
-1.2964
1.7250
A 0.8879
-0.7403
La moyenne et l'écart type des nombres peuvent être modifiés par des opérations mathématiques
pour avoir n'importe quelle valeur. Cela se fait en multipliant le nombre généré par la fonction
LM
randn par l'écart-type souhaité et en ajoutant la moyenne souhaitée. Par exemple, un vecteur de
six nombres avec une moyenne de 50 et un écart type de 6 est généré par :
>> v=4*randn(1,6)+50
v =
44.8335 48.8710 47.1801 44.2338 46.6165 46.7118
Des nombres entiers de nombres normalement distribués peuvent être obtenus en utilisant la
fonction round
>> w=round(4*randn(1,6)+50)
w =
47 49 48 50 43 57