EDPs_chapitre4
EDPs_chapitre4
EDPs_chapitre4
Chapitre 4
Méthodes numériques
Université Laval
Québec, Canada
Automne 2021
4 Erreur
4 Erreur
où c(x), f (x) sont des fonctions connues et g0 , g1 sont des constantes.
Afin de trouver les points auxquels on veut trouver une approximation de
u, on va diviser l’intervalle [0, 1] en N ∈ N petits sous-intervalles de même
longueur h = 1/N. On obtient alors les points xi = i/N.
La seule information que l’on connaı̂t sur u est l’équation différentielle
qu’elle satisfait. POur trouver l’approximation de u(xi ) on devra l’utiliser.
Toutefois, il y a un problème, car il y a la dérivée seconde qu’on ne connaı̂t
pas plus. On devra trouver un moyen pour remplacer la dérivée seconde
par une expression qui ne dépend que de u.
h2 ′′
u(xi + h) = u(xi ) + u ′ (xi )h + u (xi ) + O(h3 ) .
2
Cette expression dépend de u ′ qu’on ne connaı̂t pas. On peut aussi
regarder ce déveleppement
h2 ′′
u(xi − h) = u(xi ) − u ′ (xi )h + u (xi ) + O(h3 ) .
2
En additionnant les deux expressions, on obtient
Si i = 1
−u2 + 2u1 − g0
+ c(x1 )u1 = f (x1 ) .
h2
Si i = 2, . . . , N − 2,
−ui+1 + 2ui − ui−1
+ c(xi )ui = f (xi ) .
h2
Si i = N − 1,
−g1 + 2uN1 − uN−2
+ c(xN−1 )uN−1 = f (xN−1 ) .
h2
On obtient N − 1 équations pour trouver N − 1 inconnues. Comme il y a
plus qu’une inconnue par équation, il est un peut plus difficile de trouver
leur valeur. Cependant, une façon simple de les trouver est de transformer
les équations en une équation matricielle :
Jade Brisson EDPs : Chapitre 4 ULaval 8 / 23
Méthodes des différences finies en 1D
2 −1 · · ·
0
c(x1 ) 0 ··· 0 u1
. !
−1 2 −1 .. 0 c(x 2) ··· 0 u2
1 +
..
. . . .. ..
h2 . −1 . . −1 .. ..
. 0 .
0 · · · −1 2 0 0 ··· c(xN−1 ) uN−1
f (x1 ) + hg02
f (x2 )
= .
..
.
g1
f (xN−1 + h2
4 Erreur
h2 h3
u(x ± h, y ) = u(x, y ) ± hux (x, y ) + uxx (x, y ) ± uxxx (x, y ) + · · ·
2 3!
k2 k3
u(x, y ± k) = u(x, y ) ± kuy (x, y ) + uyy (x, y ) ± uyyy (x, y ) + · · ·
2 3!
4 Erreur
Pour ut , on choisit
h2
u(xi+1 , tj ) = u(xi , tj ) + hux (xi , tj ) + uxx (xi , tj ) ,
2
h2
u(xi−1 , tj ) = u(xi , tj ) − hux (xi , tj ) + uxx (xi , tj ) .
2
Algorithme :
Soit j fixé. On trouve u0,j avec les conditions initiales.
On incrémente i, i.e i = i + 1.
On trouve ui,j
On arrête lorsqu’on trouve uN−1,j .
On trouve uN,j avec les conditions initiales.
On incrémente j, i.e j = j + 1 et on répète toutes les étapes.
Donc, pour j = 0,
u0,1 = 0
c∆t
u1,1 = (u2,0 − 2u1,0 + u0,0 ) + u1,0 = 0.2
h2
u2,1 = 0 .
On incrémente j.
u0,2 = 0
c∆t
u1,2 = (u2,1 − 2u2,1 + u0,1 ) + u1,1 = 0.04
h2
u2,1 = 0
4 Erreur
ce qui est une très grande erreur. Cela est dû à notre mauvais choix de h
et de ∆t.