IUT Littoral 2019 - 2020
Info 2A Ana. Num. – C++
TP 3 - Introduction aux m´ ethodes de Runge–Kutta
Le but de ce TP est d’approcher num´ eriquement les solutions d’´ equations diff´ erentielles de la forme
y
0(t) = f(t, y(t)) et y(0) = y
0(1)
o` u y : R
+→ R
dest une fonction inconnue, t est une variable parcourant R
+, le vecteur y
0de R
dest la condition initiale et f : R
+× R
d→ R
dest une fonction connue d´ ependant du probl` eme ` a ´ etudier.
Nous rappelons que pour tout intervalle I, une fonction g : I → R
dest donn´ ee par
g(t) =
g
1(t)
.. . g
d(t)
pour t ∈ I,
o` u g
1, . . . , g
dsont des fonctions de I dans R . De plus si g est d´ erivable sur I alors nous avons
g
0(t) =
g
10(t)
.. . g
d0(t)
pour t ∈ I.
1. Premiers exemples
Exercice 1. On consid` ere l’´ equation diff´ erentielle y
0(t) = 2 y(t) v´ erifiant y(0) = 1.
a. Que valent d, y
0et f pour cette ´ equation diff´ erentielle ?
b. Trouver math´ ematiquement une solution ` a cette ´ equation diff´ erentielle.
Exercice 2. On consid` ere un pendule oscillant de masse m accroch´ e en A ` a l’aide d’une tige de longueur `. On note θ l’angle que forme la tige du pendule avec la verticale.
A θ `
On suppose qu’` a l’instant t = 0, l’angle θ vaut π/8. L’angle θ(t) satisfait alors l’´ equation diff´ erentielle :
θ
00(t) = − g
` sin(θ(t)) avec θ(0) = π
8 et θ
0(0) = 0,
o` u g = 9.81 m.s
−2est la constante d’acc´ el´ eration gravitationnelle. On pose ω = θ
0. L’´ equation pr´ ec´ edente devient alors :
( θ
0(t) = ω(t)
ω
0(t) = −
g`sin(θ(t)) avec
( θ(0) =
π8ω(0) = 0 (2)
a. Quels sont les inconnus de (2) ? En d´ eduire une interpr´ etation de y(t) vue en (1).
2
b. Quelles sont les valeurs de d, y
0et f pour cette ´ equation diff´ erentielle ?
Contrairement ` a l’exercice pr´ ec´ edent, cette ´ equation diff´ erentielle n’admet pas de solu- tion explicite.
2. M´ ethodes de Runge–Kutta
Ces m´ ethodes ne donneront pas la fonction y solution de (1) mais donneront des valeurs approch´ ee de y(t) pour certaines valeurs de t. Commen¸cons par fix´ e un r´ e´ el strictement positif h suppos´ e petit. Pour tout n ∈ N , on pose t
n= n × h. Nous souhaitons alors obtenir une valeur approch´ ee a
nde y(t
n) pour tout n ∈ N .
Exercice 3. Supposons n ∈ N
a. Calculer l’int´ egrale de y
0(t) sur [t
n, t
n+1] en fonction de y(t
n) et y(t
n+1).
b. En d´ eduire une relation de r´ ecurrence entre y(t
n) et y(t
n+1).
Le calcul de y(t
n+1) ` a partir de y(t
n) revient donc ` a d´ eterminer une certaine int´ egrale.
Grˆ ace aux m´ ethodes de quadrature nous pouvons obtenir une valeur approch´ ee de cette int´ egrale.
Exercice 4. La m´ ethode de Runge-Kutta d’orde 1 repose sur l’appoximation suivante Z
ba
g(t)dt ≈ (b − a) × g(a).
a. R´ e´ ecrire cette approximation dans le contexte qui nous int´ eresse.
b. En d´ eduire une formule de r´ ecurrence pour la suite (a
n)
n∈N.
Exercice 5. La m´ ethode de Runge-Kutta d’orde 2 repose sur l’appoximation suivante Z
ba