Vous êtes sur la page 1sur 4

TP2 Analyse numérique (GME1-T1)

Abdel kader AL SAYED, Ibrahim ALAME et Abderrazak Driouch

13/04/2022

Méthode de Newton en dimension 2


Soit f une fonction définie et dérivable sur le domaine D = [a, b] × [c, d] de R2 à valeurs dans R2 .
On suppose que l’équation f (x) = 0 admet une solution et une seule s = (s1 , s2 ) dans le domaine
D. On définit par récurrence une suite (xn ) à partir de tout point x0 de D en posant

xn+1 = xn + δxn

où δxn est solution de


∇f (xn ) δxn = −f (xn )
où ∇f est la matrice jacobienne de f . On admet que cette suite converge vers s. On pose x = (x1 , x2 )
et f = (f1 , f2 ), l’équation vectorielle f (x) = 0 s’écrit alors :

f1 (x1 , x2 ) = 0
f2 (x1 , x2 ) = 0
et !
∂f1 ∂f1
∂x1 (x1 , x2 ) ∂x2 (x1 , x2 )
∇f (x) = ∂f2 ∂f2
∂x1 (x1 , x2 ) ∂x2 (x1 , x2 )

Écrire un programme python permettant de résoudre par la méthode de Newton l’équation f (x) = 0.
Application numérique : Résoudre de système non linéaire
 2
x1 + x22 = 5
x21 − x22 = −3

Problème aux limites


On considère le problème aux limites

 d2 u(x)
− 2
+ 2u(x) = sin(2πx), pour x ∈]0, 1[ (1)
 u(0)dx
= 0, u(1) = 0,
2
1. Montrer u = sin(2πx) est un vecteur propre de l’opérateur u 7→ − ddxu2 + 2u. En déduire une
solution exacte du problème au limites précédent.

1
2. Soit N ∈ N fixé. On définit le maillage de l’intervalle [0, 1] par les points de discrétisation :
1
Pour i ∈ 0, 1, ..., N + 1, xi = i × h, où h =
N +1
y

h= N1+1

x
0=x0 xi xi+1 1=xN +1

On cherche en chaque point xi une valeur approchée ui ' u(xi ).


Montrer que la méthode des différences finis conduit au problème approché suivant :
Trouver une suite (ui ) solution de :

ui−1 − 2ui + ui+1


(
− + 2ui = fi , pour i ∈ {1, · · · , N },
h2 (2)
u0 = 0, uN +1 = 0

où (fi ) est une suite finie que l’on déterminera.


3. Montrer que le problème approché se ramène à un système linéaire AU = b que l’on déter-
minera.
4. Écrire un programme python permettant de résoudre le système linéaire et de tracer la
solution approchée sur le même graphique que la solution exacte, pour plusieurs valeurs de
N.

Équation de la chaleur
On s’intéresse au problème
∂u ∂2u


 (t, x) − (t, x) = 0, pour (t, x) ∈ [0, T ] × [0, 1]
∂t ∂x2
 u(0, x) = f (x), pour x ∈ [0, 1]

u(t, 0) = α(t), u(t, 1) = β(t), pour t ∈ [0, T ]

Il s’agit de l’équation de la chaleur en dimension 1 (d’espace), qui est un problème parabolique


en dimension 2 (temps et espace).
1 1
Soient n, m deux entiers fixés. On pose h = n+1 , ∆t = m et

xi = ih, ∀i ∈ {0, 1, ..., n + 1}, tj = j∆t, ∀j ∈ {0, 1, ..., m}

En particulier, x0 = 0, xn+1 = 1, t0 = 0 et tm = T . Les points (tj , xi ) sont alors les points


d’intersection d’une "grille" régulière en espace-temps.
(j)
L’approximation par différences finies consiste alors à chercher une approximation, notée ui ,
de u(tj , xi ) (notez que l’indice en temps est en exposant, et l’indice en espace en indice).
Les dérivées première et seconde peuvent être approchées avec
(j+1) (j) (j) (j) (j)
∂u u − ui ∂2u u − 2ui + ui−1
(xi , tj ) ' i (xi , tj ) ' i+1
∂t ∆t ∂x2 h2

2
On obtient alors le schéma explicite suivant :
 (j+1) (j) (j) (j) (j)
ui −ui u −2u +ui−1

 ∆t − i+1 hi2 = 0, ∀i ∈ {1, ..., n}, ∀j ∈ {1, ..., m}
(j) (j) (j) (j)
 u0 = α , un+1 = β , ∀j ∈ {0, ..., m}
(0)
ui = f (xi ), ∀j ∈ {0, ..., n + 1}

(j)
Soit n × m équations pour n × m inconnues ( les ui pour 1 6 i 6 n et 1 6 j 6 m).
1. On pose ∀j ∈ {0, ..., m}
 (j) 
u1 α(j)
 
(j)
u2 0
   
   
U (j)

= .. 
, et V (j) =
 .. 
 .   . 

 (j)
0

 un−1   
un
(j) β (j)

Le vecteur U (0) est donné par les conditions initiales, Montrer que le schéma précédent s’écrit
vectoriellement :

U (j+1) − U (j) 1
+ Ah U (j) = 2 V (j) , ∀j ∈ {0, ..., m} (3)
∆t h
où Ah est une matrice tridiagonale simple que l’on déterminera.
2. Pour n = 3, T = 2, m = 1000 et f (x) = 50◦ , α(t) = 50(1 + t)2 , β(t) = 50(1 − t)2 montrer
que ce schéma peut s’écrire sous la forme
   
 2 −1 0
U (j+1) = I3 − ∆t  −1 2 −1  U (j) + ∆t2 V (j)




 h2 h
 0  −1 2 
α(j)
 

 50
(0)
 U =  50  et V (j)
= 0 



50 β (j)

y
T

uj+1
i
ti+1

dt
uji−1 uji uji+1
ti

x
0=x0 xi−1 xi xi+1 1=xn+1
dx

3
3. Écrire un programme python permettant de résoudre les équations de la chaleur par diffé-
rences finies.
4. Tracer la famille de courbes (u(k∆t, x))k=100,200,...,1000 .
(j) (j−1)
u −u
5. Utiliser la formule d’approximation ∂u
∂t (xi , tj ) '
i
∆t
i
pour obtenir un schéma explicite
du problème. Écrire le programme python correspondant.
6. Appliquer les deux programmes explicite et implicite pour différentes valeurs de m et n. Que
remarque-t-on ?
7. On admet que la solution exacte du problème est la limite lorsque N tend vers l’infini, de la
somme :

N  2 !  
X (2n + 1)π (2n + 1)πx
uN (x, t) = Cn exp − t sin
n=0
2 2
avec
Z 1  
(2n + 1)πx
Cn = 2 f (x) sin dx
0 2
Représenter graphiquement uN pour N assez grand et comparer avec les méthodes approchées
explicite et implicite.

Vous aimerez peut-être aussi