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