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
Donner l’inverse de F=
314
257
100
, puis calculer le produit F1Fet commenter.
Effectuer inv(B),inv(A) et commenter.
4La transposée d’une matrice Mest obtenue à partir de M’
Vérifier l’instruction en effectuant A’.
A partir de la matrice ligne tcontenant les entiers de 1 à 10, créer une matrice de taille 10 qui contient les résultats
des tables de multplication.
Indication : penser à la transposée de t
3. Accès aux coefficients des matrices et modifications de ceux-ci
1M(2,4) donne le coefficient correspondant de la matrice. M(2,4)=8 affecte la valeur 8 à ce coefficient à la place de la
valeur précédente.
2M(2,:) donne la matrice ligne constitué de la deuxième ligne de la matrice M,M(:,2) donne la matrice colonne
constitué de la deuxième colonne de la matrice M. On peut également le modifier par affectation comme pour les
coefficients.
Remplacer la deuxième ligne de la matrice Apar une ligne de 1, puis remplacer la deuxième colonne de la matrice A
par la première colonne de la matrice A.
Echanger les colonnes 1 et 2 de la matrice B.
4. Matrices aléatoires
1rand(n,p) permet de générer une matrice contenant des nombres aléatoires, chacun étant tiré au hasard indépen-
damment des autres selon une loi uniforme dans l’intervalle [0; 1[.
Construire une matrice Gcarrée de taille 100 du type précédent (sans l’afficher) et calculer la moyenne des coefficients.
Interpréter le résultat.
2grand(n,p,'uin', 1, 6) permet de créer une matrice de taille n*p donc les coefficients sont des nombres entiers
compris entre 1 et 6, chacun étant tiré indépendamment des autres selon une loi uniforme dans l’ensemble J1 ; 6K. C’est
l’instruction 'uin'qui permet de coder le fait que la loi est uniforme et elle peut être remplacée par de nombreuses
autres options (voir l’aide de grand) comme par exemple la loi binomiale, normale, exponentielle, etc...
Simuler à l’aide d’une seule matrice Hune série de 20 expériences aléatoires similaires, chacune de ces expériences
consistant à lancer 100 fois un dé (équilibré), le résultat d’une expérience correspondant à une colonne de H.
A l’aide de l’instruction mean(H,'r'), qui calcule la moyenne de chaque colonne de Het sort le résultat sous la forme
d’une matrice ligne la moyenne du score obtenu.
Refaire plusieurs fois l’expérience et commenter le résultat en terme de fluctuation d’échantillonnage (si votre mémoire
le permet).
www.franck-madigou.fr ECE 1 2015-2016, TP 2 : calcul matriciel sous Scilab 2/2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !