École Nationale Supérieure de Chimie
TP 2 - Manipulation des matrices
1 Introduction
Dans ce TP, nous allons mettre en œuvre les notions traitées dans le cours relatives aux
opérations matricielles et les appliquer dans le cadre de calcul algébrique dans MATLAB. Les activités
de ce TP sont à enregistrer dans un dossier intitulé "TP2" que vous intégrerez à votre dossier de
travaux pratiques créé auparavant. Vous devez ainsi mettre à jour votre userpath.
Durant ce TP, toutes les activités sont à réaliser sous forme de scripts que vous enregistrez
dans votre userpath. À l’issue de la séance, vous devez rendre un dossier compressé contenant votre
compte rendu et l’ensemble des scripts élaborés.
2 Opérations matricielles de base
2.1 Création d’une matrice
Q1 - Créez une matrice M1 de taille 3x4 contenant des valeurs aléatoires entre 0 et 10
Indice : la fonction rand() permet de générer des matrices contenant des valeurs aléatoires
entre 0 et 1. Il est possible de générer des matrices avec des valeurs en dehors de l’intervalle
par défaut. Lisez la documentation de la fonction rand pour vous aider.
Q2 - Créez une deuxième matrice M2 ayant la même dimension que M1. Cette nouvelle matrice est
une concaténation verticale de trois vecteurs lignes contenant respectivement :
— les nombres paires entre 0 et 6 (inclus)
— les nombres impairs entre 1 et 7
— la somme terme à terme des deux vecteurs cités au-dessus enregistrés dans un ordre
décroissant
Pour ce faire, il est recommandé de passer par la création de trois vecteurs intermédiaires
avant de créer la matrice qui en résulte.
2.2 Dimension d’une matrice
Deux fonctions MATLAB permettent de fournir des informations sur la dimension d’une matrice :
size(M) et length(M).
Q3 - Lisez la documentation des deux fonctions. Quelles informations fournit chacune d’elle ?
Q4 - Créez un script nommé "dimension.m" qui permet d’afficher pour les deux matrices M1 et M2
le nombre de lignes et le nombre de colonnes.
Indice : Pour l’affichage, utilisez la fonction disp. Consultez sa documentation pour découvrir
son mode d’emploi.
2.3 Opérations arithmétiques
Q5 - Créez un script nommé "operations.m" dans lequel vous réalisez les opérations arithmétiques
terme à terme des deux matrices M1 et M2
8 mars 2022 Pr. Khaoula Boukir - Pr. Anass Nouri Page 1/4
École Nationale Supérieure de Chimie
Q6 - Créez un deuxième script nommé "produit.m" dans lequel vous calculez le produit matriciel
des deux matrices M1 et M2. Que remarquez vous ? Expliquez
Q7 - Afin de remédier au problème rencontré, calculez la transposée de la matrice M2 et multipliez
le résultat avec la matrice M1
2.4 Fonctions portant sur les matrices
Dans cette section, nous allons utiliser les fonctions prédéfinies de MATLAB qui peuvent être
appliquées aux matrices. Certaines de ces fonctions peuvent également être utilisées pour les vecteurs
(cf. TP1).
Q8 - Rappelez le principe de la fonction sum() et déterminez la différence entre sum(M1+M2) et
M1+M2
Q9 - Exécutez la commande sum(M1), à quoi correspond le résultat obtenu ?
Q10 - Si nous souhaitons avoir la somme de tous les éléments de la matrice M1, quelle option de
la fonction sum devons nous utiliser ? Essayez cette option et affichez le résultat obtenu
Q11 - En utilisant la même option, calculez le produit et la moyenne de tous les éléments de la
matrice M1
2.5 Indexage dans les matrices
L’accès à un élément d’une matrice se fait soit en fournissant le numéro de ligne et le numéro
de colonne de la position de l’élément, soit en fournissant la position linéaire de l’élément dans la
mémoire (cf. indexage classique et indexage linéaire dans le support de cours). Le passage d’un type
d’indexage à un autre peut se faire à l’aide des deux fonctions sub2ind() et ind2sub(). Consultez
la documentation de ces deux fonctions.
Q12 - Créez un script nommé "indexage.m" dans lequel vous créez une matrice magique M de
dimension 5x5.
Q13 - En utilisant l’indexage des lignes et des colonnes, vérifiez que les somme des lignes, des
colonnes et de la diagonale sont égales (il est recommandé d’utiliser la fonction sum() dans le
calcul)
Q14 - Dans un vecteur que vous nommerez "impair", récupérez tous les nombres impairs de la
matrice M qui sont supérieur à 12
Q15 - Récupérez l’élément se trouvant à la troisième ligne et la troisième colonne en utilisant son
indexe linéaire
Q16 - Récupérez l’élément se trouvant à la position 7 en utilisant ses numéros de ligne et de
colonne
3 Utilisation des matrices pour la résolution d’un système
linéaire
3.1 Introduction
Le formalisme matriciel peut être utilisé afin de résoudre un système d’équations algébrique.
Un tel système doit être mis sous la forme de :
8 mars 2022 Pr. Khaoula Boukir - Pr. Anass Nouri Page 2/4
École Nationale Supérieure de Chimie
AX = B
Tel que A et B sont des matrices regroupant les coefficients du système considéré et X regroupe
les variables inconnus du système.
Prenons l’exemple du système linéaire défini comme suit :
3x + 6y − 7z =1
−5x + 3y =0
−6x + 3y − 5z = 2
Les matrices A et B sont définies à partir des coefficients de ce système :
3 6 −7
A = −5 3 0
−6 3 −5
1
B= 0
2
La matrice X est alors définie par :
x
X = y
z
Ainsi, notre système linéaire peut s’écrire sous la forme de AX = B et sa résolution peut se
faire en calculant X tel que :
X = A−1 ∗ B
Q17 - En suivant la méthode expliquée ci-dessus, déterminez les solutions du système linéaire
considéré
Il est également possible de résoudre le système en utilisant une division à gauche : notée
A\B. Dans MATLAB, cette notation est équivalente à inv(A)*B.
3.2 Application pour l’équilibre d’une équation chimique
Il est possible d’utiliser la résolution linéaire afin d’équilibrer une équation chimique. Le prin-
cipe consiste à déterminer les coefficients stœchiométriques des réactifs et produits par un système
d’équations AX = B. Une fois que le système est résolu, les coefficients de l’équation chimique
peuvent être déterminés par une matrice R = X ∗ det(A) pour les coefficients des réactifs et
P = det(A) pour ceux des produits
Prenons l’exemple de la réaction chimique présentée ci-dessous :
Cr + O2 → Cr2 O3
L’objectif est de déterminer les coefficients pouvant équilibrer l’équation :
8 mars 2022 Pr. Khaoula Boukir - Pr. Anass Nouri Page 3/4
École Nationale Supérieure de Chimie
x Cr + y O2 → k Cr2 O3
Ainsi, nous avons :
— % du chrome : 1x + 0y = 2k
— % de l’oxygène : 0x + 2y = 3k
Les matrices A et B sont déduites de ces deux équations telles que :
1 0
A=
0 2
2
B=
3
Q18 - Calculez les solutions de ce système linéaire
Q19 - En déduire les coefficients stœchiométriques de la réaction chimique considérée
8 mars 2022 Pr. Khaoula Boukir - Pr. Anass Nouri Page 4/4