TP 2 : calcul matriciel sous Scilab
1. Construction d’une matrice
1En se reportant, si besoin, au premier TP, construire les matrices suivantes (qui seront affectées aux variables dont
les noms sont donnés ci-dessous).
A=
1 2 3
4 5 6
7 8 9
B=1 2 5
2 6 1
2Quelques constructions particulières bien pratiques :
(a) La matrice nulle se fait à l’aide de la commande zeros(n,p), où net psont deux entiers désignant respecti-
vement le nombre de lignes et de colonnes.
Construire C= 04.
(b) De même, la matrice composée uniquement de 1 se fait à l’aide de la commande ones(n,p), où net psont
deux entiers désignant respectivement le nombre de lignes et de colonnes.
Construire une matrice Dà 4 lignes et 3 colonnes composée uniquement de 3.
(c) La matrice identité se fait à l’aide de la commande eye(n,n), où ndésigne le nombre de lignes. On peut
également construire des matrices non carrée à l’aide de cette commande.
Essayer les commandes suivantes : eye(3,3), eye(2,3), eye(3,2).
(d) La commande diag(v), où vest une matrice (ligne ou colonne) permet de construire une matrice diagonale dont
la diagonale est v. Inversement, la commande diag(A), où Aest une matrice (pas nécessairement diagonale)
permet de construire une matrice colonne dont les composantes sont celles de la diagonale de la matrice.
Enfin, en tapant diag(v,1), on construire une matrice diagonale de taille adaptée en conséquence dont la
première sur-diagonale est v(on aussi peut taper diag(v,2) pour la deuxième sur-diagonale, diag(v,-1) pour
la première sous-diagonale, etc...
Construire une matrice Ecarrée de taille 10 dont tous les coefficients sont nuls à l’exception ceux de la diagonale,
qui valent -2, et de ceux de la première sur-diagonale et de la première sous-diagonale, qui valent 1.
Indication : on additionnera 3 matrices obtenues à l’aide de la commande diag.
2. Opérations sur les matrices
1L’addition, la multiplication par un réel et la multiplication matricielle et la puissance nième d’une matrice
carrée se font respectivement à l’aide de +, *, * et ^n. Les précautions d’usage quant aux dimensions des matrices
concernées sont à prendre, sinon un message d’erreur s’affiche.
Effectuer B+A,A*B,B*A,A^10 et B ^10 en anticipant les messages d’erreur.
2On peut également faire des opérations coefficients par coefficients (qui ne sont pas des « vraies »opérations sur les
matrices). Par exemple :
(a) A + 2 ajoute 2 à chaque coefficients de A.
(b) A.*B multiplie deux à deux les coefficients de deux matrices Aet Bde même dimension (l’opération ./ existe
aussi).
(c) A.^n élève chaque coefficient de Aà la puissance n
Comparer A.*A,A*A,A^2 et A.^2 et anticiper les résultats.
(d) On peut appliquer n’importe qu’elle fonction prédéfinie de Scilab à une matrice, le calcul d’image s’effectue
coefficient par coefficient
Effectuer sqrt(A).
3L’inverse d’une matrice Mse calcule via la commande inv(M) qui laisse un message d’erreur lorsque la matrice n’est
pas inversible. Attention toutefois, il faut se rappeler que Scilab ne fait que des calculs approchés, ce qui donne parfois
des erreurs de la part du logiciel.
www.franck-madigou.fr ECE 1 2015-2016, TP 2 : calcul matriciel sous Scilab 1/2