UNIVERSITE HASSAN II CASABLANCA ECOLE NATIONAL SUPERIEURE D4ELECTRICITE ET DE MECANIQUE Compte rendu Simulation : Analyse Numérique DEPARTEMENT : GENIE ELECTRIQUE. OPTION : Génie des Systèmes électriques (GSE) ENCADREE PAR : MME .A.RADID REALISE PAR : ֎ BARBOURI YASSIR ֎ EL AKKAOUI SABRINE Année universitaire : 2021-2022 INTRODUCTION Certains problèmes de mathématiques peuvent être résolus numériquement (c.à-d., sur ordinateur) de façon exacte par un algorithme en un nombre fini d'opérations. Ces algorithmes sont parfois appelés méthodes directes ou qualifiés de finis. Des exemples sont l’élimination de Gauss-Jordan pour la résolution d’un système d’équations linéaires et l’algorithme du simplexe en optimisation linéaire. Cependant, aucune méthode directe n’est connue pour certains problèmes (de plus, pour une classe de problèmes dits NP-complets, aucun algorithme de calcul direct en temps polynomial n'est connu à ce jour). Dans de tels cas, il est parfois possible d’utiliser une méthode itérative pour tenter de déterminer une approximation de la solution. Une telle méthode démarre depuis une valeur devinée ou estimée grossièrement et trouve des approximations successives qui devraient converger vers la solution sous certaines conditions. Même quand une méthode directe existe, une méthode itérative peut être préférable car elle est souvent plus efficace et même souvent plus stable (notamment elle permet le plus souvent de corriger des erreurs mineures dans les calculs intermédiaires) Par ailleurs, certains problèmes continus peuvent parfois être remplacés par un problème discret dont la solution est connue pour approcher celle du problème continu ; ce procédé est appelé discrétisation. Par exemple la solution d’une équation différentielle est une fonction. Cette fonction peut être représentée de façon approchée par une quantité finie de données, par exemple par sa valeur en un nombre fini de points de son domaine de définition, même si ce domaine est continu. L’analyse numérique a pour propos la recherche et l’optimisation de méthodes qui permettent d’approcher la solution d’un problème mathématique pour lequel la solution exacte est inaccessible. Cette branche des mathématiques appliquées s’est fortement développée avec la montée en puissance des moyens de calcul informatique. Page 2 TP : EQUATION LINAIRE ֎ But de simulation : Ce TP vise à : Se familiariser avec le logiciel MATLAB. Savoir comment résoudre le système d’équation en utilisant : L’opérateur de division. La décomposition LU. La méthode de Gauss. La méthode de pivot de Gauss. ֎ Exercice 1 : Soit : 1 1 0 1 A=[1 2 2] et b=[2] 0 2 3 3 1- Création de la matrice A en utilisant la fonction diag et le vecteur b avec un pas fixe : Programme : A=diag(1:3)+diag(1:2,-1)+diag(1:2,1); b=[1:3]'; Simulation: Page 3 2- Résolution du système d’équation Ax=b en utilisant : a- L’opérateur de division : Programme: A=diag(1:3)+diag(1:2,-1)+diag(1:2,1) b=[1:3]' x=A\b x=inv(A)*b x=A^(-1)*b Simulation: Page 4 b- La décomposition LU : Programme : A=diag(1:3)+diag(1:2,-1)+diag(1:2,1) b=[1:3]' x=A\b [L,U,P]=lu(A); Y = linsolve(L,P*b) X=linsolve(U,Y) Simulation: ֎ Exercice 2: 1- La forme matricielle du problème : Programme : fg=50; w=2*pi*fg ; Ug= 220 ; R1= 10 ; R2= 3 ; C= 10e-6 ; L= 100e-3 ; Z=[R1 1/j*C*w 0;0 -1/j*C*w R2+j*w*L;1 -1 -1]; U=[Ug; 0 ; 0] I=inv(Z)*U Page 5 Simulation : 2&3- Résolution du système d 'équations linéaires par la méthode de Gauss : Programme : c = 10*10^-6; fg = 50; R1 = 10; R2 = 3; L = 100*10^-3; Ug = 220; w = 2*pi*fg; b = [Ug 0 0]'; A = [10 1/(j*c*w) 0; 0 -1/(j*c*w) R2+(j*c*w); 1 -1 -1]; I = inv(A) * b; I Ieff = abs(I) phaseI = angle(I) * 180 / pi; n = size(A,1); disp(['*** la methode de Gauss ***']) A=[A b]; for k=1:n-1 for i=k+1:n A(i,:)=A(i,:)-(A(i,k)/A(k,k))*A(k,:); end end A for i=n:-1:1 s=0; for j=i+1:n s=s+A(i,j)*x(j); end x(i)=(A(i,n+1)-s)/A(i,i); Page 6 end I=x' Ieff = abs(I) Simulation: ֎ Exercice 3: Soit : Page 7 1 A=[2 1 1 4 4 1 4] 2 1- Résolution du système Ax=y par la méthode du pivot de Gauss : Programme : clear all; clc; a=[1 1 1;2 4 4;1 4 2]; y=[0 -2 -5]' n = size(a,1); disp(['*** la methode de Gauss ***']) A=[a y]; for k=1:n-1 for i=k+1:n A(i,:)=A(i,:)-(A(i,k)/A(k,k))*A(k,:); end end A for i=n:-1:1 s=0; for j=i+1:n s=s+A(i,j)*x(j); end x(i)=(A(i,n+1)-s)/A(i,i); end I=x' Simulation : Page 8 2- La décomposition de A sous forme LU : Programme : A=[1 1 1; 2 4 4; 1 4 2] b=[0 -2 -5]' [L,U,P]=lu(A); Y = linsolve(L,P*b) X=linsolve(U,Y) Simulation: ֎ Exercice 4: Soit : 1 2 1 A=[2 8 4 ] 1 4 11 1- Factorisation de la matrice A : Programme : Page 9 function L = choleski(A) A = [1 2 1;2 8 4; 1 4 11] N = size(A,1); L = zeros(N,N); for i = 1:N L(i,i) = sqrt(A(i,i)-sum(L(i,:).^2)); for j = i+1:N L(j,i) = (A(i,j)-sum(L(i,:).*L(j,:)))/L(i,i); end end Simulation : 2- La commande Matlab chol(A) : Programme : function L = choleski(A) A = [1 2 1;2 8 4; 1 4 11] N = size(A,1); L = zeros(N,N); for i = 1:N L(i,i) = sqrt(A(i,i)-sum(L(i,:).^2)); for j = i+1:N L(j,i) = (A(i,j)-sum(L(i,:).*L(j,:)))/L(i,i); end end R=chol(A) Simulation: Page 10 ֎ Exercice 5: 2-Résolution du système linaire par la méthode itérée de jacobi et de Gauss-Seidel : Programme : Page 11