Vous êtes sur la page 1sur 16

Analyse Numérique 2

Rapport des travaux pratiques

Classe : 1GC3 Groupe : Groupe 1

Encadré par :
Mme.GHABBAR
Coordonnatrice :
ABOUEL ABBES Nada
Rapporteurs :
Benhaimoud Youssef
Belhouari Fatima Ezzahra

Les autres membres :


AOUYA Houssam
AYYAR Moncef
Farouk Badr
TP4 : EDO et EDF Numérique

Le Déroulement du travail :

Le travail fait dans ce TP qui englobe les deux grands chapitres de l’Analyse
numérique 2 : « Equation différentielles », et « Equation aux dérivées
partielles » s’est déroulé pendant 3 jours :
1er jour : jeudi soir 22 /04/2021 : on a fait une réunion sur teams animé par
la coordonnatrice et où on a fait une lecture globale du TP et dispatcher les
tâches.
2eme jour : Vendredi le 23/04/2021 ; on a fait une deuxième réunion dans
laquelle on a discuté l’avancement du travail et le problème trouvé par
chaqu’un lors de la résolution ainsi que les personnes terminées ont envoyés
leurs travaux.
3eme jour : Samedi le 24/04/2021 : la rédaction du rapport final par
l’équipe rédactrice.

Problème rencontré :
Dans ce TP, on n’a pas vraiment rencontré beaucoup de problème, car on
s’est trouvé tous bien compris ces deux chapitres, le seul problème c’est lorsque
on veut résoudre le problème par la méthode de Runge-kutta d’ordre 2 et 4,
mais on a trouvé la solution après une longue discussion.
Execice1 :
Soit le problème de Cauchy :
1 𝑦
𝑦 ′ = 𝑡 2 − 𝑡 − 𝑦 2 , 1 ≤ 𝑡 ≤ 2 , 𝑦(1) = −1
−1
De solution exacte y= 𝑡
a) Appliquer la méthode de Euler et écrire l’algorithme correspondant pour N=10 :
En revient au cours on trouve que la formule d’Euler est :

Son algorithme correspondant est :

Entrées : a, b, n, f, w0 ;
Sorties :wi ;
Début :
h=(b-a)/n
ti=a+ih
pour i de 1 à n faire :
wi+1=wi+h*f(ti,wi)
fin pour;
fin.
Pour N=10 :
On va utiliser un programme python qui va nous faciliter les calculs :
Les résultats sont regroupés dans ce tableau :

ti Valeur exacte Wi Euler


1.0 -1 -1
1.1 -0.90909090 -0.9
1.2 -0.83333333 -0.8165371900826447
1.3 -0.76923076 -0.745721278076786
1.4 -0.71428571 -0.6847965276646216
1.5 -0.66666666 -0.6317567102411785
1.6 -0.62500000 -0.5851068058741312
1.7 -0.58823529 -0.5437101279350209
1.8 -0.55555555 -0.5066871734303051
1.9 -0.52631578 -0.47334687765852546
2 -0.55555555 -0.4431387797315272
Commentaire : on remarque bien la différence entre les valeurs exactes et les
valeurs calculés par la méthode d’Euler, alors on peut dire que cette méthode n’est pas très
exacte.
c) Même question que l’exercice précèdent, sauf que l’on utilise la méthode RK2 :
D’après le cours la méthode de RK2 consiste à résoudre le système suivant :

Alors on utilise toujours un programme python qui optimise le temps de calcul :


Les résultats sont les suivantes :
ti Valeur exacte Wi RK2
1.0 -1 -1
1.1 -0.90909090 -0.9090708616780045
1.2 -0.83333333 -0.8332987747876229
1.3 -0.76923076 -0.7691849868328657
1.4 -0.71428571 -0.7142307431626344
1.5 -0.66666666 -0.6666038123425512
1.6 -0.62500000 -0.6249301260131466
1.7 -0.58823529 -0.588158987095725
1.8 -0.55555555 -0.555473223464363
1.9 -0.52631578 -0.5262277219837815
2 -0.55555555 -0.4999064066355983

Commentaire : On remarque ainsi que les résultats s’approche de la valeur exacte,


mais ils restent pas les même, On va donc voir la méthode RK4 ce qu’elle va donner.

d) Même questions précèdent, sauf que l’on utilise la méthode classique RK4 :
Cette méthode consiste à résoudre :
Le programme utilisé :

Les résultats trouvés :

ti Wi RK4
1.0 -1
1.1 -0.9090899929495051
1.2 -0.8333318021911436
1.3 -0.7692287876178688
1.4 -0.7142833765287112
1.5 -0.6666640291092879
1.6 -0.6249970975102788
1.7 -0.5882321489492675
1.8 -0.5555521823017068
1.9 -0.5263121979367286
2 -0.49999619690690467
Commentaire : On remarque bien que la méthode RK4 à
donner des résultats très proches des valeurs Exactes.

Regardons ensemble cette remarque à travers ce tableau qui


regroupe les 3 méthode :

e) Dresser un tableau dans lequel on compare les 3 méthode avec la solution exacte y(ti)
au point ti :

Le tableau est fait dans un fichier Excel, regroupant les solutions de chaque méthode
et leurs erreurs :

Conclusion : La méthode classique de RK4 est la meilleure


méthode et la plus efficace parmi les autres.
Execice2 :

Solution :
a- D’après Les Formules Des Différences Finies Centrées on a :
𝑦(𝑥𝑖−1 ) − 2𝑦(𝑥𝑖 ) + 𝑦(𝑥𝑖+1 ) 𝑦(𝑥𝑖+1 ) − 𝑦(𝑥𝑖−1 )
= 𝑝(𝑥𝑖 ) + 𝑞(𝑥𝑖 )𝑦(𝑥𝑖 ) + 𝜋(𝑥𝑖 )
ℎ2 ℎ
𝑐𝑒 𝑞𝑢𝑖 𝑒𝑠𝑡 é𝑞𝑢𝑖𝑣𝑎𝑢𝑡 à:
𝑦(𝑥𝑖−1 ) − 2𝑦(𝑥𝑖 ) + 𝑦(𝑥𝑖+1 ) = 𝑝(𝑥𝑖 ) ∗ ℎ(𝑦(𝑥𝑖+1 ) − 𝑦(𝑥𝑖−1 )) + ℎ2 𝑞(𝑥𝑖 )𝑦(𝑥𝑖 ) + ℎ2 𝜋(𝑥𝑖 )

ℎ ℎ
𝐷′ 𝑜ù: (−1 − 𝑝(𝑥𝑖 )) 𝑦(𝑥𝑖−1 ) + (2 + ℎ2 𝑞(𝑥𝑖 ))𝑦(𝑥𝑖 ) + (−1 + 𝑝(𝑥𝑖 )) 𝑦(𝑥𝑖+1 ) = −ℎ2 𝜋(𝑥𝑖 )
2 2
𝑂𝑛 𝑜𝑏𝑡𝑖𝑒𝑛𝑡 𝑎𝑙𝑜𝑟𝑠 𝑙𝑒 𝑠𝑦𝑠𝑡è𝑚𝑒 (𝑆):
ℎ ℎ
(2 + ℎ2 𝑞(𝑥1 ))𝑦(𝑥1 ) + (−1 + 𝑝(𝑥1 )) 𝑦(𝑥2 ) = −ℎ2 𝜋(𝑥1 ) + (1 + 𝑝(𝑥1 )) 𝑦(𝑥1 )
2 2
ℎ ℎ
(−1 − 𝑝(𝑥2 )) 𝑦(𝑥1 ) + (2 + ℎ2 𝑞(𝑥1 ))𝑦(𝑥2 ) + (−1 + 𝑝(𝑥2 )) 𝑦(𝑥3 ) = −ℎ2 𝜋(𝑥2 )
2 2
.
(𝑆): .
.
ℎ ℎ
(−1 − 𝑝(𝑥𝑁−1 )) 𝑦(𝑥𝑁−2 ) + (2 + ℎ2 𝑞(𝑥𝑁−1 ))𝑦(𝑥𝑁−1 ) + (−1 + 𝑝(𝑥𝑁−1 )) 𝑦(𝑥𝑁 ) = −ℎ2 𝜋(𝑥𝑁−1 )
2 2
ℎ 2 ℎ
(−1 − 𝑝(𝑥𝑁 )) 𝑦(𝑥𝑁−1 ) + (2 + ℎ 𝑞(𝑥𝑁 )) 𝑦(𝑥𝑁 ) = (1 − 𝑝(𝑥𝑁 )) 𝑦(𝑥𝑁+1 ) − ℎ2 𝜋(𝑥𝑁 )
{ 2 2

b- Soient : 𝑢0 = 𝑦(𝑎) = 𝛼 𝑒𝑡 𝑢𝑁+1 = 𝑦(𝑏) = 𝛽


𝑢𝑖 = 𝑦(𝑥𝑖 ) ; ∀𝑖 ∈ {1,2, … , 𝑁}, (𝑆) ⇔ 𝐴ℎ 𝑈ℎ = 𝐵ℎ

𝑡𝑒𝑙 𝑞𝑢𝑒 𝐴, 𝐵 𝑒𝑡 𝑈 𝑠 ′ é𝑐𝑟𝑖𝑣𝑒𝑛𝑡 𝑠𝑜𝑢𝑠 𝑙𝑎 𝑓𝑜𝑟𝑚𝑒:

𝑒𝑡

c-
2−1
𝑂𝑛 𝑎: ℎ = = 0.1 𝑑𝑜𝑛𝑐: 𝑥𝑖 = 1 + 0.1𝑖 𝑎𝑣𝑒𝑐 𝑖 ∈ {0, … ,10}
10
−2 2 sin (ln (𝑥𝑖 ))
𝑑𝑜𝑛𝑐 𝑝(𝑥𝑖 ) = 𝑒𝑡 𝑞 (𝑥𝑖 ) = 2
𝑒𝑡 𝜋(𝑥𝑖 ) =
𝑥𝑖 𝑥𝑖 𝑥𝑖 2
Exercice 3 :

Avant de répondre au problème on a essayé de comprendre l’énoncé et la


schématiser dans une feuille pour une bonne compréhension :
a) Ecrire le système vérifiant le problème aux limites défini ci-dessus :

∀ x ∈ [0 , 0.5] , u vérifie : u(x, 0) = 0


On a : {
∀ y ∈ [0 , 0.5] , u vérifie : u(0, y) = 0

Car ces cotes ont une température nulle 0°C

Or u(x,0.5) = a x + b car c’est une fonction linéaire


Déterminons maintenant a et b :
u (0.5 , 0.5)= 0.5x + b = 200 : d’après l’énoncé
Et u(0,0.5)=0 donc : b=0
200
Alors : a= = 400
0.5

Enfin :
u(x,0.5)=400x

De la même manière : u(0.5 , y)=c y + d


Or u(0.5 ,0.5)=0.5c+d =200 et u(0.5 , 0)=0=d
Par suite : c= 400
Enfin :
u(0.5,y)=400y
b)On effectue un quadrillage régulier du domaine en découpant les cotés en N sous
intervalles de longueur L selon les deux directions. Donner l’expression du système
discret qui approche celui de la question précédente, en utilisant les formules de
différence finies centrées :

On a d’après le cours la formule de la différence finies centrées est :

(1)

Or d’après l’Enoncé, la température à l’intérieur de la plaque vérifie l’équation suivante :

(2)

Donc Si on remplace (1) dans (2), on trouve :

𝑢𝑖+1,𝑗 − 2𝑢𝑖𝑗 + 𝑢𝑖−1,𝑗 𝑢𝑖,𝑗+1 − 2𝑢𝑖𝑗 + 𝑢𝑖,𝑗−1


+ + 𝑂(∆𝑥 2 , ∆𝑦 2 ) = 0
(*)
∆𝑥 2 ∆𝑦 2
∀ (𝑖, 𝑗) ∈ ⟦1, 𝑁 − 1⟧²

Et on sait qu’on a découper les cotés du quadrillage en N sous intervalles de longueur L,


Alors :

∆𝑥 2 ≈ ∆𝑥 = 𝐿 𝑒𝑡 ∆𝑦 2 ≈ ∆𝑦 = 𝐿 Et 𝑂(∆𝑥 2 , ∆𝑦 2 ) ≈ 0

On simplifie (*), On trouve :

ui+1,j -2uij+ui-1,j + ui,j+1-2uij+ui,j-1=0, ∀ (𝑖, 𝑗) ∈ ⟦1, 𝑁 − 1⟧²


Enfin :
∀ (𝑖, 𝑗) ∈ ⟦1, 𝑁 − 1⟧² , ui+1, j + ui-1, j +ui, j+1 +ui, j-1-4uij=0

c)Ecrire ce système sous forme matricielle (AX=B) dans le cas où N=4 :


Cette question consiste à chercher la matrice A qui vérifie AX=B :
𝑢11
𝑢21
𝑢31
𝑢12
On pose donc : X= 𝑢22
𝑢32
𝑢13
𝑢23
(𝑢33 )
Or d’après la question (b) , On a : ui+1, j + ui-1, j +ui, j+1 +ui, j-1-4uij=0,
∀ (𝑖, 𝑗) ∈ ⟦1, 𝑁 − 1⟧²
Et on a N=4 donc : (i , j) ∈ ⟦1,3⟧²
Maintenant on remplace pour chaque cas et on fait le calcul :
Pour i=1 et j=1 : u21 + u01 + u12 + u10 – 4u11 = 0
Pour i=2 et j=1 : u31 + u11 + u22 + u20 – 4u21 = 0
Pour i=3 et j=1 : u41 + u21 + u32 + u30 – 4u31 = 0

Pour i=1 et j=2 : u22 + u02 + u13 + u11 – 4u12 = 0


Pour i=2 et j=2 : u32 + u12 + u23 + u21 – 4u22 = 0
Pour i=3 et j=2 : u42 + u22 + u33 + u31 – 4u32 = 0

Pour i=1 et j=3 : u23 + u03 + u14 + u12 – 4u13 = 0


Pour i=2 et j=3 : u33+ u13 + u24 + u22 – 4u23 = 0
Pour i=3 et j=3 : u43 + u23 + u34 + u32 – 4u33 = 0

En en déduit donc :
−𝑢01 −𝑢10
−4 1 0 1 0 0 0 0 0
−𝑢21
1 −4 1 0 1 0 0 0 0
0 1 −4 0 0 1 0 0 0
−𝑢41 −𝑢30
1 0 0 −4 1 0 1 0 0 −𝑢02
𝐴= 0 1 0 1 −4 1 0 1 0 Et B= 0
0 0 1 0 1 −4 0 0 1 −𝑢42
0 0 0 1 0 0 −4 1 0 −𝑢03 −𝑢14
0 0 0 0 1 0 1 −4 1 −𝑢24
(0 0 0 0 0 1 0 1 −4)
(−𝑢43 −𝑢32 )
D’où :
−4 1 0 1 0 0 0 0 0 𝑢11 −𝑢01 −𝑢10
1 −4 1 0 1 0 0 0 0 𝑢21 −𝑢21
0 1 −4 0 0 1 0 0 0 𝑢31 −𝑢41 −𝑢30
1 0 0 −4 1 0 1 0 0 𝑢12 −𝑢02
0 1 0 1 −4 1 0 1 0 𝑢22 = 0
0 0 1 0 1 −4 0 0 1 𝑢32 −𝑢42
0 0 0 1 0 0 −4 1 0 𝑢13 −𝑢03 −𝑢14
0 0 0 0 1 0 1 −4 1 𝑢23 −𝑢24
(0 0 0 0 0 1 0 1 −4) (𝑢33 ) (−𝑢43 −𝑢32 )

Vous aimerez peut-être aussi