X. R´esolution approch´ee d’une ´equation diff´erentielle
1 M´ ethode d’Euler
1.1 M´ethode d’Euler pour une ´equation diff´erentielle du premier ordre
D´efinition 1. La m´ethode d’Euler d’approximation de la solution y d’une ´equation diff´erentielle d’ordre 1 de la variable t avec condition initiale y(t0) = y0 consiste `a construire des approximations successives(y0;y′0),(y1;y1′),(y2;y′2), . . . ,(yn;y′n)des valeurs du couple(y;y′)aux points t0, t1, t2, . . . , tn
selon le sch´ema suivant :
• On ´ecrit l’´equation diff´erentielle au point tk, on remplace y(tk) par la valeur approch´ee yk et y′(tk) par la valeur approch´ee yk′ puis on en d´eduit une expression de yk′ en fonction detk et yk.
• On pose yk+1 =yk+ (tk+1−tk)y′k.
Exercice 1. On consid`ere l’´equation diff´erentielle
y′+ty = 0 y(t0) = 1 .
1. Expliciter le sch´ema d’Euler d’approximation de la solution de cette ´equation diff´erentielle.
2. ´Ecrire une fonction euler gaussienne de param`etre t qui retourne le tableau des valeurs ap- proch´ees yk aux pointstk pour k∈J0; longueur(t)−1K.
Exercice 2. On consid`ere le syst`eme diff´erentiel
x′ = y
y′ = −x x(t0) = 0 y(t0) = 1
.
1. Expliciter le sch´ema d’Euler d’approximation de la solution de cette ´equation diff´erentielle.
2. ´Ecrire une fonction euler circulairede param`etre t qui retourne le tableau des valeurs appro- ch´eesxkainsi que le tableau des valeurs approch´eesykaux pointstkpourk∈J0; longueur(t)−1K.
Exercice 3.
1. ´Ecrire une ´equation diff´erentielle lin´eaire d’ordre 1 avec condition initiale en t = 0 admettant pour solution la fonction exponentielle.
2. Expliciter le sch´ema d’Euler d’approximation de la solution de cette ´equation diff´erentielle.
3. ´Ecrire une fonction euler exponentielle de param`etre n qui retourne le tableau des valeurs approch´ees yk aux points tk= kn pour k∈J0;nK.
1.2 M´ethode d’Euler pour une ´equation diff´erentielle du second ordre
D´efinition 2. La m´ethode d’Euler d’approximation de la solution y d’une ´equation diff´erentielle d’ordre 2 de la variable t avec condition initiale (y(t0) = y0;y′(t0) = y0′) consiste `a construire des approximations successives (y0;y0′;y′′0),(y1;y′1;y′′1),(y2;y′2;y′′2), . . . ,(yn;yn′;y′′n) des valeurs du tri- plet (y;y′;y′′) aux pointst0, t1, t2, . . . , tn selon le sch´ema suivant :
• On ´ecrit l’´equation diff´erentielle au pointtk, on remplacey(tk)par la valeur approch´ee yk,y′(tk) par la valeur approch´ee y′k ety′′(tk) par la valeur approch´ee y′′k puis on en d´eduit une expression dey′′k en fonction de tk, yk ety′k.
• On pose yk+1 =yk+ (tk+1−tk)y′k.
• On pose yk+1′ =yk′ + (tk+1−tk)y′′k.
Exercice 4. On consid`ere l’´equation diff´erentielle
y′′+ty′+y = 0 y(t0) = 1 y′(t0) = 0
.
1. Expliciter le sch´ema d’Euler d’approximation de la solution de cette ´equation diff´erentielle.
2. ´Ecrire une fonction euler gaussienne de param`etre t qui retourne le tableau des valeurs ap- proch´ees yk aux pointstk pour k∈J0; longueur(t)−1K.
Exercice 5.
1. ´Ecrire une ´equation diff´erentielle lin´eaire d’ordre 2 avec condition initiale en t = 0 admettant pour solution la fonction sinus.
2. Expliciter le sch´ema d’Euler d’approximation de la solution de cette ´equation diff´erentielle.
3. ´Ecrire une fonction euler sinus de param`etre n qui retourne le tableau des valeurs approch´ees yk aux points tk= kn pour k∈J0;nK
2 M´ ethodes de Runge-Kutta
D´efinition 3. Les m´ethodes de Runge-Kutta d’approximation de la solution y d’une ´equation dif- f´erentielle d’ordre 1 de la variable t avec condition initiale y(t0) = y0 consistent `a construire des approximations successives y1, y2, . . . , yn des valeurs de y aux points t1, t2, . . . , tn au moyen d’une relation de r´ecurrence obtenue par calcul approch´e de l’int´egrale
Z tk+1
tk
y′(t) dt=y(tk+1)−y(tk).
Remarque 1. La m´ethode d’Euler est une m´ethode de Runge-Kutta bas´ee sur la m´ethode des rec- tangles.
Exercice 6. On consid`ere l’´equation diff´erentielle
y′+ty = 0 y(t0) = 1 .
1. Montrer que la m´ethode de Runge-Kutta bas´ee sur la m´ethode du point milieu conduit `a l’ap- proximation yk+1=yk+ (tk+1−tk)yk+′ 1
2
avec y′k+1 2
une valeur approch´ee de y′ t
k+tk+1
2
. 2. Utiliser le sch´ema d’Euler pour exprimer une valeur approch´ee yk+1
2
dey t
k+tk+1
2
en fonction detk,tk+1 etyk puis une valeur approch´eey′
k+12 dey′t
k+tk+1
2
en fonction detk,tk+1etyk+1
2
. 3. ´Ecrire une fonction runge gaussienne de param`etre t qui retourne le tableau des valeurs ap-
proch´ees yk aux pointstk pour k∈J0; longueur(t)−1K.
Exercices suppl´ ementaires
Exercice 7. La m´ethode d’Euler implicite d’approximation de la solution y d’une ´equation diff´eren- tielle d’ordre 1 de la variable tavec condition initiale y(t0) =y0 consiste `a construire des approxima- tions successives y1, y2, . . . , yn des valeurs dey aux points t1, t2, . . . , tn selon le sch´ema suivant :
• On ´ecrit l’´equation diff´erentielle au pointtk+1, on remplacey(tk+1)par la valeur approch´eeyk+1 et y′(tk+1) par la valeur approch´ee yk+1′ puis on en d´eduit une expression de y′k+1 en fonction detk+1 et yk+1.
• On pose yk+1 =yk+ (tk+1−tk)y′k+1.
• On en d´eduit une expression de yk+1 en fonctiontk,tk+1 et yk.
Expliciter le sch´ema d’Euler implicite d’approximation de la solution de l’´equation diff´erentielle
y′+ty = 0 y(t0) = 1 . Exercice 8. On consid`ere l’´equation diff´erentielle
y′−y2 = 1 y(0) = 0 .
1. Expliciter le sch´ema d’Euler d’approximation de la solution de cette ´equation diff´erentielle.
2. ´Ecrire une fonctioneuler tangente de param`etre n qui retourne le tableau des valeurs appro- ch´ees yk aux pointstk=−1 +nk pour k∈J0; 2nK
Exercice 9.
1. ´Ecrire une ´equation diff´erentielle lin´eaire d’ordre 2 avec condition initiale en t = 0 admettant pour solution la fonction cosinus.
2. Expliciter le sch´ema d’Euler d’approximation de la solution de cette ´equation diff´erentielle.
3. ´Ecrire une fonctioneuler cosinusde param`etrenqui retourne le tableau des valeurs approch´ees yk aux points tk= kn pour k∈J0;nK
Exercice 10. On consid`ere l’´equation diff´erentielle
y′+ty = 0 y(t0) = 1 .
1. Montrer que la m´ethode de Runge-Kutta bas´ee sur la m´ethode des trap`ezes conduit `a l’approxi- mationyk+1=yk+ (tk+1−tk)y′k+yg′k+1
2 avec yg′k+1 une valeur approch´ee temporaire dey′(tk+1).
2. Utiliser le sch´ema d’Euler pour exprimer une valeur approch´ee temporaire ygk+1 de y(tk+1) en fonction detk, tk+1, yk etyk′ puis une valeur approch´ee temporaire yg′k+1 dey′(tk+1) en fonction detk, tk+1 etygk+1.
3. ´Ecrire une fonction heun gaussienne de param`etre t qui retourne le tableau des valeurs ap- proch´ees yk aux pointstk pour k∈J0; longueur(t)−1K.
R´ eponses
1) •
y0 = 1 yk′ = −tkyk
yk+1 = yk+ (tk+1−tk)y′k
•
Fonction: euler gaussienne(t)
Action: Approximation de la fonction gaussienne par la m´ethode d’Euler aux pointstk
D´ebut
y : tableau de taillelongueur(t) y0←1
Pourkallant de1`alongueur(t)−1faire u← −tk−1yk−1
yk←yk−1+ (tk−tk−1)u FinPour
Renvoyery Fin
2) •
x0 = 0 y0 = 1 x′k = yk
y′k = −xk
xk+1 = xk+ (tk+1−tk)x′k yk+1 = yk+ (tk+1−tk)y′k
•
Fonction: euler circulaire(t)
Action: Approximation des fonctions circulaires par la m´ethode d’Euler aux pointstk
D´ebut
x: tableau de taillelongueur(t) y : tableau de taillelongueur(t) x0←0
y0←1
Pourkallant de1`alongueur(t)−1faire u←yk−1
v← −xk−1
xk←xk−1+ (tk−tk−1)u yk←yk−1+ (tk−tk−1)v FinPour
Renvoyerx, y Fin
3) •
y′ = y y(0) = 1
•
y0 = 1 yk′ = yk
yk+1 = yk+ (tk+1−tk)y′k
•
Fonction: euler exponentielle(n)
Action: Approximation de la fonction exponentielle par la m´ethode d’Euler aux points kn pourk∈J0;nK D´ebut
y : tableau de taillen+ 1 y0←1
Pourkallant de1`anfaire u←yk−1
yk←yk−1+n1u FinPour
Renvoyery Fin
4) •
y0 = 1 y0′ = 0
y′′k = −yk−tky′k yk+1 = yk+ (tk+1−tk)y′k yk+1′ = y′k+ (tk+1−tk)y′′k
•
Fonction: euler gaussienne(t)
Action: Approximation de la fonction gaussienne par la m´ethode d’Euler aux pointstk
D´ebut
y : tableau de taillelongueur(t) y0←1
u←0
Pourkallant de1`alongueur(t)−1faire v← −yk−1−tk−1u
yk←yk−1+ (tk−tk−1)u u←u+ (tk−tk−1)v FinPour
Renvoyery Fin
5) •
y′′+y = 0 y(0) = 0 y′(0) = 1
.
•
y0 = 0 y0′ = 1 y′′k = −yk
yk+1 = yk+ (tk+1−tk)y′k yk+1′ = y′k+ (tk+1−tk)y′′k
•
Fonction: euler sinus(n)
Action: Approximation de la fonction sinus par la m´ethode d’Euler aux points kn pourk∈J0;nK D´ebut
y : tableau de taillen+ 1 y0←0
u←1
Pourkallant de1`anfaire v← −yk−1
yk←yk−1+n1u u←u+n1v FinPour Renvoyery Fin
6) • La m´ethode du point milieu conduit `a l’approximation : y(tk+1)−y(tk) =
Z tk+1
tk
y′(t) dt≃(tk+1−tk)y′
tk+tk+1 2
•
y0 = 0 yk′ = −tkyk yk+1
2 = yk+tk+12−tkyk′ yk+′ 1
2
= −tk+tk+1
2 yk+1
2
yk+1 = yk+ (tk+1−tk)yk+′ 1 2
•
Fonction: runge gaussienne(t)
Action: Approximation de la fonction gaussienne par la m´ethode de Runge aux pointstk
D´ebut
y : tableau de taillelongueur(t) y0←1
Pourkallant de1`alongueur(t)−1faire u← −tk−1yk−1
v←yk−1+tk−2tk−1u w← −
tk
−1+tk
2 v
yk←yk−1+ (tk−tk−1)w FinPour
Renvoyery Fin
7)
( y0 = 1 yk+1 = 1+(t yk
k+1−tk)tk+1
8) •
y0 = 1 yk′ = 1 +y2k
yk+1 = yk+ (tk+1−tk)y′k
•
Fonction: euler tangente(n)
Action: Approximation de la fonction tangente par la m´ethode d’Euler aux points−1 +kn pourk∈J0; 2nK D´ebut
y : tableau de taille2n+ 1 yn←0
Pourkallant de1`anfaire u←1 +y2n+k
−1
yn+k←yn+k−1+n1u FinPour
Pourkallant de1`anfaire u←1 +y2n−k+1
yn−k←yn−k+1−1nu FinPour
Renvoyery Fin
9) •
y′′+y = 0 y(0) = 1 y′(0) = 0
.
•
y0 = 1 y0′ = 0 y′′k = −yk
yk+1 = yk+ (tk+1−tk)y′k yk+1′ = y′k+ (tk+1−tk)y′′k
•
Fonction: euler cosinus(n)
Action: Approximation de la fonction cosinus par la m´ethode d’Euler aux points kn pourk∈J0;nK D´ebut
y : tableau de taillen+ 1 y0←1
u←0
Pourkallant de1`anfaire v← −yk−1
yk←yk−1+n1u u←u+n1v FinPour Renvoyery Fin
10) • La m´ethode des trap`ezes conduit `a l’approximation : y(tk+1)−y(tk) =
Z tk+1
tk
y′(t) dt≃(tk+1−tk)y′(tk) +y′(tk+1) 2
•
y0 = 0 yk′ = −tkyk g
yk+1 = yk+ (tk+1−tk)y′k ygk+1′ = −tk+1ygk+1
yk+1 = yk+ (tk+1−tk)y′k+2yg′k+1
•
Fonction: heun gaussienne(t)
Action: Approximation de la fonction gaussienne par la m´ethode de Heun aux pointstk
D´ebut
y : tableau de taillelongueur(t) y0←1
Pourkallant de1`alongueur(t)−1faire u← −tk−1yk−1
v←yk−1+ (tk−tk−1)u w← −tkv
yk←yk−1+ (tk−tk−1)u+w2 FinPour
Renvoyery Fin