Rapport du 1er Projet PDF

Title Rapport du 1er Projet
Author Yasmine Guessous
Course Informatique
Institution Université Paris 8 Vincennes-Saint-Denis
Pages 10
File Size 278.8 KB
File Type PDF
Total Downloads 80
Total Views 146

Summary

Rapport du 1er Projet...


Description

ECOLE SUPERIEURE D’INGENIERIE EN SCIENCES APPLIQUEES

Rapport de projet Sujet : Réalisation d’un

programme Maple permettant la résolution d’un système AX=b par la méthode de décomposition LU.

Réalisé par : Yasmina Jaaouane & Yasmine Guessous

Matière : Analyse Numérique Encadrant : Mr Bennouna Année Universitaire : 2016-2017

Sommaire: Remerciements …………………………………………… 3 Introduction ………………………………………………… 4 Définition de Maple 7 ……………………………… 5 Méthode de décomposition LU ……………………. 6 Programme …………………………………………………. 7 Conclusion ………………………………………………….. 10

2

I. Remerciement A l’issu de ce rapport il apparait opportun d’exprimer nos reconnaissances et notre profonde gratitude envers Mr Bennouna ,pour nous avoir encadré, qui a contribué à la réalisation de ce projet dans les meilleures conditions, ainsi qu’à la réalisation ce de présent rapport.

3

II. Introduction Ce document a pour but de décrire le déroulement de notre projet .C’est le résultat du travail qui nous a permis de réaliser un programme pour résoudre un système lineaire . Le sujet que nous a propose Mr bennouna se portait sur les points suivants     

Créer une matrice A Calculer L ( la matrice inferieur) Calculer U ( la matrice superieur) Créer le vecteur V Résoudre le système

La maitrise de ce logicielle est des plus importante pour notre future carrière.

4

III.

Présentation de Maple 7 :

Maple est un logiciel propriétaire de calcul formel développé depuis les années 1980 et aujourd'hui édité par la société canadienne Maplesoft. La dernière version est la version 2016. Les objets de base du calcul sont les expressions mathématiques, représentées sous forme de graphes orientés acycliques. Maple fournit un langage de programmation spécifique, inspiré d'Algol, qui est à la fois le langage d'utilisation interactive et celui dans lequel est écrite la plus grande partie de la bibliothèque mathématique du logiciel.

IV. Méthode de decomposition LU : Soit A une matrice carrée. On dit que A admet une décomposition LU s'il existe une matrice triangulaire inférieure formée de 1 sur la diagonale, notée L, et une matrice triangulaire supérieure, notée U, qui vérifient l'égalité Il n'est pas toujours vrai qu'une matrice A admette une décomposition LU. Cependant dans certains cas, 5

en permutant des lignes de A, la décomposition devient possible. On obtient alors une décomposition de la forme où P est une matrice de permutation. Bien que les décompositions LU et PLU conduisent à des formules distinctes, généralement quand on parle de la décomposition LU, on fait référence à l'une ou l'autre de ces décompositions.

Exemple La matrice se factorise de la façon suivante :

6

IX. Corps du programme : Notre programme est formé de trois procédures :

#Utilisation de la bibliothèque linalg > restart:with(linalg); #procédure de Résolution de Ux=y > triangSup:=proc(U::matrix,y:: vector) > global x; > local sum, j, i, m; > m:=vectdim(y); > x:=vector(m); > x[m]:=y[m]/U[m,m]; > for i from m-1 to 1 by -1 do > sum:=0; > for j from i+1 to m do > sum:=sum + (U[i,j]*x[j]); > end do; > x[i]:=(y[i]-sum)/U[i,i]; > end do; > print("La matrice x est :"); > evalm(x);print(x); > end proc;

7

#procédure de Résolution de Ly=b > triangInf:=proc(L::matrix,b:: vector) > global y; > local sum, j, i, m; > m:=vectdim(b); > y:=vector(m); > y[1]:=b[1]/L[1,1]; > for i from 2 to m do > sum:=0; > for j from 1 to i-1 do > sum:=sum + (L[i,j]*y[j]); > end do; > y[i]:=(b[i]-sum)/L[i,i]; > end do; > print("La matrice y est :"); > evalm(y);print(y); > end proc; #procédure principale > LU := proc(A::matrix, B::vector, n::posint) >local i, j, d, p, L, U; > #Vérification des det(deltak)!=0 > for i to n do > d:=mul(A[k,k],k=i..n); > if(d=0) then error "Decomposition impossible car les deltak=0" end if; > end do; > #Initialisation de U et L à 0 8

> L := matrix(n,n,0); > U := matrix(n,n,0); > #Calcul de L et U > for i from 1 to n do L[i, i] := 1 end do; > for j from 1 to n do U[1, j] := A[1, j] end do; > for i from 2 to n do L[i, 1] := A[i, 1]/U[1, 1] end do; > for p from 2 to n - 1 do > for j from 2 to n do > U[p, j] := A[p, j] - sum(L[p, k]*U[k, j], k = 1 .. p - 1) > end do > end do; > p := 2; > for i from p+1 to n do > for p to n - 1 do >L[i, p] := (A[i, p] - sum(L[i, k]*U[k, p], k = 1 .. p - 1)) /U[p, p] > end do > end do; > U[n, n] := A[n, n] - sum(L[n, k]*U[k, n], k = 1 .. n - 1); > #Affichage des matrices L,U > print("La matrice L =");print(L); > print("La matrice U=");print(U); > #Résolution de LY=B > triangInf(L,B); > #Résolution de UX=Y > triangSup(U,y); > end proc;

9

#Test > a:=matrix([[1,3,1],[0,2,1],[1,1,2]]); b:=vector([1,2,1]); > LU(a,b,3);

X. Conclusion : Avoir utilisé le logiciel Maple 7 est une expérience bénéfique D’un point de vue humain, le travail en groupe est une bonne chose, cela permet de travailler en équipe, de respecter les choix et idées de tous les membres afin de servir une cause commune. Également, le fait de se découper le travail permet de se concentrer sur une partie précise où l’on va s’investir à fond dans l’intérêt du groupe.

10...


Similar Free PDFs