La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

PROGRAMMATION SCIENTIFIQUE EN C PRO-1027. Résolution de système déquations linéaires u Affichage des résultats (tp 1 a) u Élimination de Gauss u Élimination.

Présentations similaires


Présentation au sujet: "PROGRAMMATION SCIENTIFIQUE EN C PRO-1027. Résolution de système déquations linéaires u Affichage des résultats (tp 1 a) u Élimination de Gauss u Élimination."— Transcription de la présentation:

1 PROGRAMMATION SCIENTIFIQUE EN C PRO-1027

2 Résolution de système déquations linéaires u Affichage des résultats (tp 1 a) u Élimination de Gauss u Élimination de Gauss avec pivot u Travail pratique 1 b

3 Affichage des résultats u Affichage de données réelles float epsilon1; double epsilon2; epsilon1 = ; epsilon2 = ; printf("\n Valeur de epsilon1: %13.11f ",epsilon1); printf("\n Valeur de epsilon2: %22.20f ",epsilon2);

4 Élimination de Gauss u Exemple de système déquations linéaires –Un alliage est composé de manganène, silice et de cuivre –Cet alliage est composé de 15 livres de Mn, 22 livres de Si et 39 livres de Cu par tonne dalliage –Les ingrédients de lalliage (Mn, Si, Cu) sont extraits de minerai provenant de 3 fournisseurs différents –De plus, la concentration des ingrédients est différente pour les 3 minerais

5 Élimination de Gauss u Nous voulons alors déterminer quelle quantité de minerai nous devons acheter de chaque fournisseur pour éviter lachat inutile dingrédient

6 Élimination de Gauss u Pour trouver une solution à ce problème nous devons définir les variables suivantes: –X j : la quantité de minerai achetée du fournisseur j (tonne de minerai) –C i : la quantité dingrédient i par tonne dalliage (lb/ tonne dalliage) –a ij : la quantité dingrédient i par tonne de minerai achetée du fournisseur j (lb/tonne de minerai)

7 Élimination de Gauss u Nous pouvons déduire une expression générale pour le calcul des C i u m représente le nombre dingrédients et n le nombre de fournisseurs

8 Élimination de Gauss u Le problème précédent peut être représenté par un système déquations linéaires de la forme u La solution de ce système correspond aux quantités de minerai à acheter de chaque fournisseur

9 Élimination de Gauss u Détermination des courants dans un circuit électrique

10 Élimination de Gauss u Forme générale dun système déquations linéaires

11 Élimination de Gauss u Solution de 2 équations (n=2) u Isolons X 2 de la seconde équation u Substituons X 2 de la première équation

12 Élimination de Gauss u Nous pouvons alors isoler X 1 u Nous pouvons alors déduire X 2 par

13 Élimination de Gauss u Classification des systèmes déquations –Systèmes ayant des solutions –Systèmes sans solution –Systèmes avec une infinité de solutions

14 Élimination de Gauss

15 u Lélimination de Gauss est similaire à la procé- dure de substitution utilisée précédemment pour déduire les valeurs de X 1 et X 2 u Lélimination consiste à effectuer un ensemble dopérations valides sur les équations pour arriver à obtenir une matrice dont la partie triangulaire inférieure (sous la diagonale) est nulle et une diagonale à 1 (Gauss-Jordan) u Nous pouvons alors isoler chacune de nos inconnues

16 Élimination de Gauss u Opérations valides sur les équations –Permuter deux équations –Multiplier ou diviser une équation par une constante –Additionner deux équations ensembles

17 Élimination de Gauss u Représentation matricielle dun système déquations linéaires

18 Élimination de Gauss u Représentation sous forme de matrice augmen- tée

19 Élimination de Gauss u La procédure délimination de Gauss est subdi- visée en une phase délimination avant suivie dune phase de substitution arrière. Avec lélimination avant nous obtenons un système

20 Élimination de Gauss u Si nous réinsérons les inconnues nous obtenons le système déquations suivant

21 Élimination de Gauss u A partir du système précédent, nous pouvons déduire les inconnues X i en commençant par linconnue X n et par substitution arrière les autres inconnues X 1 … X n-1

22 Élimination de Gauss u Lélimination de Gauss appliquée à un circuit électrique (phase délimination avant)

23 Élimination de Gauss u Algorithme délimination de Gauss (élimination avant) Entrées: matrice A de nxn et un vecteur C de n éléments Élimination avant POUR j=1à n-1 FAIRE /* Pour chaque élément de la diagonale */ POUR i=j+1 à n FAIRE /* Pour chaque rangée sous la diagonale */ m ij = a ij /a jj a ij = 0; C i = C i - m ij * C j POUR k = j+1 à n FAIRE /* Pour les éléments restant de la rangée i */ a ik = a ik - m ij * a jk

24 Élimination de Gauss u Algorithme délimination de Gauss (substitution arrière) Substitution arrière POUR i= n à 1 FAIRE x i =C i POUR j=i+1 à n FAIRE x i = x i - a ij * x j x i = x i /a ii Sortie: vecteur x des solutions

25 Élimination de Gauss u Problèmes derreurs –Représentation des nombres –Utilisation de pivot très petit (division par 0) u Pour minimiser ces problèmes nous pouvons utiliser lélimination de Gauss avec pivot

26 Élimination de Gauss u Problèmes derreurs (exemple) u En arithmétique exacte, la première étape de lélimination donne

27 Élimination de Gauss u Problèmes derreurs (exemple) –La dernière étape produit un élément diagonal a 22 nul –Lélément pivot (diagonal) de la prochaine étape est donc nul –Le rapport m 23 = 3/0 ce qui cause erreur de division par 0

28 Élimination de Gauss u Nous pouvons corriger cette anomalie en permutant les rangées 2 et 3 permettant de déduire le vecteur solution exacte

29 Élimination de Gauss u Sur lordinateur, les rapports 2/7 et 3/7 ne sont pas représentés avec exactitude ce qui produit un élément diagonal a 22 très petit. Lélimination avant peut quand même se poursuivre produi- sant des solutions erronnées

30 Élimination de Gauss avec pivot u Pour éviter les problèmes liés à lutilisation de pivots petits nous devons avant chaque étape de l,élimination chercher la rangée dont la valeur pivot est maximale Élimination avant POUR j=1à n-1 FAIRE /* Pour chaque élément de la diagonale */ trouver_pivot(n,j,A,kp)./*rangée où se trouve le pivot max */ Permuter les rangées j et kp POUR i=j+1 à n FAIRE /* Pour chaque rangée sous la diagonale */ m ij = a ij /a jj a ij = 0; C i = C i - m ij * C j POUR k = j+1 à n FAIRE /* Pour les éléments restant de la rangée i */ a ik = a ik - m ij * a jk

31 Élimination de Gauss avec pivot trouver_pivot(n,j,A,kp) pivot = abs(A[j][j]) kp=j POUR i=j+1à n FAIRE /* Pour chaque rangé sous la diagonale */ SI abs(A[i][j])>pivot ALORS pivot = abs(A[i][j]) kp = i FINSI FIN POUR

32 Travail pratique 1b


Télécharger ppt "PROGRAMMATION SCIENTIFIQUE EN C PRO-1027. Résolution de système déquations linéaires u Affichage des résultats (tp 1 a) u Élimination de Gauss u Élimination."

Présentations similaires


Annonces Google