1. Opérations sur les matrices 2. Systèmes d`équations linéaires

Transcription

1. Opérations sur les matrices 2. Systèmes d`équations linéaires
Laboratoire – outil numérique (MATLAB = « Matrix Laboratory »)
1. Opérations sur les matrices
Soit une matrice A (5x5) non-nulle. Expliquer la signification de chacune des opérations
suivantes :
1.1. A’
1.2. [m n] = size(A)
1.3. x = A(: , 1); y = A(: , 2); z = A( : ,3)
1.4. triu(A); tril(A)
1.5. B = rot90(A)
1.6. diag(A)
1.7. diag(B), tirez une conclusion à partir de 1.6 et 1.7?
1.8. trace(A), trace(B)
1.9. dét(A), det(B), tirez une conclusion!
1.10. C = inv(A)
1.11. C*A, que représente alors la matrice C pour la matrice A?
1.12. D = rref(A), D représente la matrice ?? de A
1.13. Soient deux matrices A et B telles que : A = [2 -1; 3 4]; B = [1 2; 0 1]; Taper : A – 2*B =
?, A^2 = ?, A*B = ? , transpose (A) = ?, inv(A) = ? A^-1 = ? (comparer les deux
résultats)
2. Systèmes d’équations linéaires
Exemple 1 :
Soit une matrice A de dimension 3x3 et un vecteur colonne b tels que :
A = [1 -1 -1;3 -3 2; 2 -1 1]
b = [2; 16; 9].
Résoudre le système d’équation Ax = b en utilisant les commandes suivantes :
a) linsolve (A, b)
b) A\b
c) » Ab = [1 -1 -1 2;3 -3 2 16; 2 -1 1 9]; » rref(Ab)
Remarques
1) remarquer l’utilité de la commande rremovie (Ab)
2) réutiliser la commande linsolve (A, b) avec b = [2 16 9]!! Tirer une conclusion!
Outil numérique – MATLAB (GCI-100)
Page 1
3. Factorisation LU
3.1)
3.2)
Utiliser le fichier powerpoint (voir sur le site internet)
Soit la matrice A suivante: (matrice traitée durant l’intra #2)
0 0
1 − 2 − 4 − 3  1
 2 − 7 − 7 − 6  2
1 0

= 
− 1 2
6
4  − 1 0 1

 
8  − 4 3 − 5
− 4 − 1 9
a.
b.
c.
d.
e.
0
0 
4

1
1
0

0

0
−2
−3
0
0
− 4 − 3
1
0 
2
1 

0
1 
taper : » [L U] = lu(A)
taper : » [L U P] = lu(A)
Comparer les deux résultats
Calculer le produit P*L (la matrice déterminée en a)
Tirer une conclusion sur la factorisation LU réalisée par MATLAB
3.3)
a.
b.
c.
d.
e.
f.
Déterminer la factorisation LU d’une matrice A 5x5 (de votre choix)
Calculer le déterminant de L et de U
Calculer le produit det(L)*det(U)
Comparer ce résultat avec det(A)
Calculer le déterminant de la matrice A, AT et A-1
Utiliser la décomposition LU pour résoudre un système donné (considérer un vecteur
b de votre choix)
g. Résoudre le système Ax = b (b est un vecteur de votre choix) en utilisant la méthode de
Cramer.
3.4)
Si une matrice est inversible, MATLAB détermine A-1 en factorisant en premier A = LU, en
inversant ensuite L et U puis en calculant U-1L-1. Utiliser cette méthode pour déterminer l’inverse
de la matrice A dont la factorisation est donnée dans l’exercice 2.2.
3.5)
Il est possible d’obtenir la forme « échelon » d’une matrice donnée en utilisant la commande rref
« i.e. row reduced echelon form) ou la commande rrefmovie qui permet de suivre les opérations
effectuées. Faire un essai avec une matrice générée d’une façon aléatoire :
Taper : » A = fix(8*rand(6,5))
» rrefmovie(A)
3.6)
Résolution d’un système Ax = b. Soit une matrice 5x5 et un vecteur b 5x1 quelconque.
Utiliser la commande : rref([A b]) pour trouver les solutions du système.
Outil numérique – MATLAB (GCI-100)
Page 2
4. Noyau et espace colonne d’une matrice
Exemple :
Soit A = [1 1 3 1 6; 2 -1 0 1 -1; -3 2 1 -2 1; 4 1 6 1 3]
1) taper reef(A)
2) taper colspace(sym(A))
3) Null(sym(A))
4) Null(A, ‘r’)
5) Null(A)
5. Résolution des équations du second ordre
2
Soit à résoudre l’équation suivante: Ax + bx + c = 0
1e méthode (MATLAB) -- Méthode intéractive
a. Entrer les valeurs des constantes a, b, c (par exemple : » a = 1; (; pour ne pas afficher la
valeur à l’écran, etc.). Par exemple, pour résoudre le polynome :
P(x) = -x2 + 4x –3 = 0
Il faut entrer :
» a = -1;
» b = 4;
» a = -3;
b. Définir les solutions du système (« instruire MATLAB comment calculer les solutions »).
Il faut entrer :
x1 = (-b + sqrt(b^2 - 4*a*c))/2*a, x2 = (-b - sqrt(b^2 - 4*a*c))/2*a
2e méthode (MATLAB)
Écrire un fichier (M-file) dans MATLAB pour résoudre l’équation.
a. Ouvrir File (dans menu), new, ensuite choisir M-File.
b. Taper :
a = input('Enter a: ');
b = input('Enter b: ');
c = input('Enter c: ');
X1 = (-b + sqrt(b^2-4*a*c))/(2*a)
X2 = (-b - sqrt(b^2-4*a*c))/(2*a)
Outil numérique – MATLAB (GCI-100)
Page 3
c. Sauvgarder le fichier : polynome.m
d. Load la fonction polynome : taper » polynome
6. Tracer la courbe d’une fonction
6.1) Tracer la courbe de la fonction :
y = ax2 + bx + c
a. Créer un M-file dans MATLAB.
Function y = myquad(x)
%déclarer les constants (commentaire dans MATLAB)
a = 1; b = 0, c = -2
%définir la fonction à tracer
y = a*x^2 + b*x + c
end
Dans MATLAB :
Taper :
» fplot(‘myquad’, [-3 3])
% changer les valeurs et expliquer la signification de –3 à 3?
b. Déclarer les constantes a, b et c comme Global :
Function y = myquad(x)
%déclarer les constants comme Global
global a b c
%définir la fonction à tracer
y = a*x^2 + b*x + c
end
Dans MATLAB :
Taper :
Global a b c;
a = ; b = ; c = ; (% donner des valeurs de votre choix)
Fplot(‘myquad’, [-3 3])
% changer les valeurs et expliquer la signification de –3 à 3?
6.2 ) Tracer la courbe de la fonction : Y = Xexp(-X2 – Y2)
Créer un M-fichier :
[X,Y] = meshgrid(-2:.2:2, -2:.2:2);
Z = X.* exp(-X.^2 - Y.^2);
mesh(Z)
Outil numérique – MATLAB (GCI-100)
Page 4
Dans MATLAB, taper: meshgird,
Changer les paramètres –2 et 2 ainsi que le pas de variation et constater la différence !!
7. Intégration d’une fonction
On veut intégrer la fonction suivante (par rapport à x) de x = 0 à x =3 :
y = e(2x)
(2x)
La solution analytiques est : Y = ½e . La valeur de Y de 0 à 3 est :
(6)
Y(3) – Y(0) = ½(e – 1) = 201214.
La première étape est de créer un M-fichier (file, new et choisir M-file):
function y = growth(x)
y = exp(2*x)
Dans MATLAB :
»a=0;
»b=3;
» tol = 1e-3;
» trace[]; (0 pour ne pas tracer);
8.Valeurs et vecteurs propres
8.1)
À l’aide des commandes poly et roots de MATLAB, déterminer les valeurs propres d’une matrice
A3x3 (de votre choix).
8.1.1 Former le vecteur r des valeurs propres par les commandes p = poly(A), (équation
caractéristique de A) et r = roots(p). (vous pouvez comparer les résultats obteneus
avec roots(p) avec ceux obtenus avec vos (M-File) développés dans le problème 3).
8.1.2 Former une matrice P des vecteurs propres, P = [u1 u2 u3]. Un vecteur propre est la
solution de l’équation homogène (A – λI) = 0. On peut utiliser la forme échelon
réduite pour trouver les vecteurs propres. Utiliser la commande :
B = rref(A – λ∗eye(A)), λ est la valeur propre associée. (si la commande eye ne
fonctione pas?, entrer une matrice identité I et construire la matrice (A - λ∗Ι).
8.1.3 Former ensuite la matrice diagonale D des valeurs propres en utilisant la
commande : D = diag(r).
8.1.4 Calculer le produit PDP-1
8.1.5 Conclure?
8.2)
Utiliser la commande suivante de MATLAB :
» [P D] = eig(A), A étant la même matrice considérée dans la question 8.1).
Outil numérique – MATLAB (GCI-100)
Page 5