Académique Documents
Professionnel Documents
Culture Documents
Licence Mathématiques-Informatique,
parcours Mécanique-3ème année
Exercice 1 :
Soit le système d’équations différentielles
du1
= 2u1
dt
du2
= 3u1 − u2 .
dt
(1)
u1 = e2t a
avec a la condition initiale u1 (0) = a. Injectant cette solution dans la deuxième équation on doit
résoudre
du2
= 3e2t a − u2 . (2)
dt
Comme il a été rappelé dans le chapitre 1.1 de la partie 4 du cours, la solution u2 = v + w est
la somme d’une solution générale v de l’équation homogène et d’une solution particulière w.
Donc, v est solution de
dv
= −v
dt
et donc v = e−t b (avec b par exemple la condition initiale u2 (0) = b). La solution particulière
s’écrit, par la méthode de la variation de la constante, w = c(t)e−t et si on injecte cette fonction
dans l’équation (2), on trouve
dc dc
e−t = 3e2t a, donc = 3ae3t
dt dt
et une solution qui s’annule en t = 0 (dans ce cas la constante b de la solution générale corres-
pond bien à la condition initiale u2 (0)) est
Z t
c(t) = 3a e3s ds = a(e3t − 1) et w = a(e2t − e−t ).
0
1
Par conséquent,
u2 (t) = e−t b + a(e2t − e−t ).
3x1 − 3x2 = 0
et donc x(1) = (1, 1)T est vecteur propre associé à λ1 . Pour λ2 = −1 on trouve 2x1 = 0 et donc
x(2) = (0, 1)T est vecteur propre associé à λ2 . Soit donc
1 0
P=
1 1
A = PDP−1
avec
2 0 −1 1 0
D= , P = .
0 −1 −1 1
Comme il a été démontré dans la partie cours, on peut écrire etA = PetD P−1 ; l’exponentielle
d’une matrice D diagonale se calcule aisément et ici
2t
tD e 0
e =
0 e−t
d’où en définitive
e2t
tA 0
e = −t
2t
e −e e−t
Soit donc u(0) = (u1 (0), u2(0))T = (a, b)T , alors u(t) = etA u(0) et on retrouve bien u1 (t) = e2t a,
u2 (t) = (e2t − e−t )a + e−t b.
2
Exercice 2 :
Soit maintenant le système d’équations différentielles
du1
= 2u1
dt
du2
= 3u1 + 2u2 .
dt
(3)
Corrige : On trouve u1 = e2t a et on injecte cette solution dans la deuxième équation, donc
du2
= 3e2t a + 2u2 .
dt
A nouveau u2 = v + w avec v = e2t b solution générale de l’équation homogène et w = c(t)e2t :
injectant cette expression dans l’équation, on trouve
dc
= e−2t 3e2t a = 3a
dt
dont la solution qui s’annule en t = 0 est c(t) = 3at et donc
A = 2I + N
3
avec I matrice unité 2 × 2 et
0 0
N=
3 0
et on peut facilement se convaincre que N 2 = 0 est la matrice identiquement égale à zéro. Les
matrices I et N commutent et (voir cours, partie 4, chapitre 1.2)
Evidemment,
e2t 0
t2I
e =
0 e2t
et etN se calcule aisément car la série est une somme finie, étant donné que N 2 = 0 (et donc
N k = 0, k ≥ 2)
tN 1 0
e = I + tN = .
3t 1
Opérant le produit de ces deux matrices, on trouve bien
2t
tA e 0
e =
3te2t e2t
0
1
11111
00000
m
1 00001
11110
0
1
u1
0
1
0
1
0
1
1111
0000
00001
m 2 11110
0
1
u
2
0
1
d 2 u1
m = k(u2 − u1 ) − ku1
dt 2
d 2 u2
m 2 = −k(u2 − u1 )
dt
Trouver la solution du système, qui vérifie la condition initiale
du1 du2
u1 (0) = 1, u2 (0) = 0, (0) = 0, (0) = 0.
dt dt
4
Indication : On cherchera la solution sous la forme (u1 , u2 ) = eλt (a, b).
Corrigé : Il s’agit ici de deux équation différentielles linéaires à coefficients constants d’ordre
deux et ce système pourrait être écrit sous la forme de 4 équations d’ordre 1. Il a été vu dans
la partie cours que les composantes de la solution d’un système d’équations différentielles
linéaires à coefficients constants s’écrivent comme une combinaison linéaire de etλ avec λ les
valeurs propres de la matrice qui définit le système d’équations différentielles. Pour trouver ces
valeurs propres λ, il est donc légitime de poser (u1 , u2 ) = eλt (a, b) et d’injecter cette expression
dans l’équation. On trouve
(mλ2 + 2k)a − kb = 0
−ka + (mλ2 + k)b = 0.
On cherche évidemment à écrire les conditions pour que ce système ait une solution (a, b) 6=
(0, 0), ce qui est le cas si le déterminant du système est nul et donc
(mλ2 + 2k)(mλ2 + k) − k2 = 0
m2 µ2 + 3kmµ + k2 = 0.
Par conséquent
√ ! √ !
k −3 + 5 k −3 − 5
µ1 = , µ2 = .
m 2 m 2
Ces deux solutions sont négatives et étant donné que λ2 = µ, on trouve
5
Or, dans ces expressions apparaissent 8 constantes à déterminer, mais la condition initiale ne
fournit que 4 conditions. Il convient donc d’injecter la forme générale de la solution ci-dessus
dans une des deux équations différentielles du système, par exemple la deuxième, ce qui donne
les relations
ω1 B1 + ω2 D1 = 0 (8)
du2
tandis que dt (0) = 0 permet d’écrire
ω1 B2 + ω2 D2 = 0.
B1 ω21 − ω22 = 0
6
d’où
k − ω21 m ω22 m − k k k
A1 = , C1 = , A2 = 2 , C2 = − 2 .
(ω2 − ω1 )m
2 2 (ω2 − ω1 )m
2 2 (ω2 − ω1 )m
2 (ω2 − ω21 )m
D’où la solution
k − ω21 m ω22 m − k
u1 (t) = cos(ω1 t) + cos(ω2t),
(ω22 − ω21 )m (ω22 − ω21 )m
k
u2 (t) = (cos(ω1t) − cos(ω2t)) .
(ω2 − ω21 )m
2
Corrigé : Soit t j = jh ; le schéma d’Euler explicite pour la résolution d’une équation différentielle
avec condition initiale u′ (t) = f (t, u(t)), u(0) = u0 s’écrit simplement
U j+1 = U j + h f (t j ,U j ), j = 0, 1, · · ·, U0 = u0 .
Ici f (t, u(t)) = t − t 3 et donc
U j+1 = U j + h(t j − t 3j )
et en itérant
U j+1 = U j−1 + h(t j−1 − t 3j−1 + t j − t 3j )
etc. Finalement on trouve
j−1 j−1 j−1
U j = U0 + h ∑ (tk − tk3 ) = h2 ∑ k − h ∑ k34
k=0 k=0 k=0
j−1 j( j−1)
car tk = kh et ici la condition initiale U0 = 0. Or, il est bien connu que ∑k=0 k = 2 et
j−1 j2 ( j−1)2
∑k=0 k3 = 4 et par conséquent
j( j − 1) j2 ( j − 1)2
U j = h2 − h4 .
2 4
t2 4
Pour cet exemple l’équation différentielle s’intègre aisément, la solution étant u(t) = 2 − t4 et
donc
j2 j4
u(t j ) = h2 − h4
2 4
7
de façon à ce que
j( j − 1) j2 j2 ( j − 1)2 j4 2 j3 − j2
2 4 j
E(t j , h) = U j − u(t j ) = h − −h − = −h2 + h4 .
2 2 4 4 2 4
Soit t et hn = nt , alors tn = nhn = t. D’après l’expression ci-dessus (prenant j = n et h = hn )
3 2
2 n 4 2n − n 2 1 4 1 1
E(t, hn) = −hn + hn = −t +t − .
2 4 2n 2n 4n2
On remarque que l’on peut aussi écrire cette erreur au temps t (entre la solution obtenue par le
schéma d’Euler explicite et la solution exacte) en termes de hn et
t3 − t t2
E(t, hn) = hn − h2n .
2 4
On remarque que le terme dominant de l’erreur est bien en O(hn ) comme démontré dans la
partie cours et bien sûr E(t, hn) → 0 quand hn → 0 (et hn → 0 si et seulement si n → ∞).
convergente (t étant fixé), si |hn | < 1. Expliciter τi (t) pour i = 0, 1, 2. Interpréter le résultat.
Corrigé : Appliquant le schéma d’Euler explicite à cette équation (ici f (t, u(t)) = u(t)) on
obtient
Un+1 = Un + hnUn = (1 + hn )Un
et en itérant
Un+1 = (1 + hn )2Un−1
etc. pour obtenir
Un = (1 + hn )nU0 = (1 + hn )n
car la condition initiale U0 = 1. Tenant compte de hn = nt on peut écrire
t/hn t ln(1 + hn )
Un = (1 + hn ) = exp = exp (tϕ(hn )) .
hn
8
Par le développement en série
∞
hin
ln(1 + hn ) = ∑ (−1)i+1
i=1 i
Cette série converge pour |hn | < 1 et la fonction exponentielle eu étant développable en série
entière convergente pour tout u, on déduit que pour t fixé la fonction exp (tϕ(hn)) est développable
en série entière et on peut écrire
∞
Un = ∑ τi (t)hin,
i=0
convergente si |hn | < 1. Pour calculer les premiers coefficients τi (t), il suffit d’observer que
∞
!
h i
exp (tϕ(hn)) = exp t ∑ (−1)i n = exp(t) exp(−thn /2) exp(th2n/3) · · ·
i=0 i + 1
t t2 2
t
Un = exp(t) − exp(t) hn + exp(t) + hn + · · ·
2 3 8
On observe ici que le terme exp(t) est en fait la solution exacte u(t) de l’équation différentielle
et donc
t t2 2
t
E(t, hn) = Un − u(t) = − exp(t) hn + exp(t) + hn + · · ·
2 3 8
L’erreur entre la solution numérique et la solution exacte est donc bien en O(hn ) et donc (pour t
donné) E(t, hn) → 0 quand hn → 0. Cependant, lorsqu’on écrit − exp(t) 2t hn = O(hn ), il faut
être conscient que hn apparaı̂t en produit avec la fonction − exp(t) 2t de t. Pour la solution
u(t) = exp(t) l’erreur relative entre la solution du schéma d’Euler et la solution exacte est plus
significative que l’erreur absolue et
t t2 2
E(t, hn) t
= − hn + + hn + · · ·
exp(t) 2 3 8
9
Exercice 5 : Ordre d’un schéma de Runge-Kutta et stabilité absolue.
On cherche à résoudre l’équation différentielle
par une méthode à un pas du type Runge-Kutta. Ici f : R2 → R est supposée 3 fois continûment
dérivable dans R2 . On note ti = t0 +ih et Ui l’approximation de u(ti ), avec Ui solution du schéma
U0 = u0
Ui+1 = Ui + hF(ti,Ui , h) (12)
ti+1 = ti + h, i = 0, 1, ....
avec
5a) On note
u(t + h) − u(t)
τ(t, h) = − F(t, u(t), h),
h
u(t) étant la solution exacte de (11). Déterminer les conditions sur b1 , b2 , c2 pour que le schéma
(18) soit d’ordre 2, i.e. τ(t, h) = O(h2).
u(t + h) − u(t) h h2
= u′ (t) + u′′ (t) + u′′′ (t) + · · · (14)
h 2 6
et u(t) étant solution exacte de l’équation différentielle (11), on peut écrire, pour les 2 premiers
termes du développement
u′ (t) = f (t, u(t))
et
∂f ∂f ∂f ∂f
u′′ (t) = (t, u(t)) + (t, u(t))u′(t) = (t, u(t)) + (t, u(t)) f (t, u(t)).
∂t ∂u ∂t ∂u
Par conséquent
∂f ∂f
u(t + h) − u(t) h
= f (t, u(t)) + (t, u(t)) + (t, u(t)) f (t, u(t)) + O(h2 ) (15)
h 2 ∂t ∂u
∂F h2 ∂2 F
ϕ(h) = F(t, u(t), 0) + h (t, u(t), 0) + (t, u(t), 0) + O(h3) (16)
∂h 2 ∂h2
10
La fonction F(t, u(t), h) s’écrit ici
et donc
F(t, u(t), 0) = (b1 + b2 ) f (t, u(t))
et
∂F ∂f ∂f
(t, u(t), 0) = b2 c2 (t, u(t)) + b2 (t, u(t))c2 f (t, u(t)).
∂h ∂t ∂u
Injectant ces expression dans (16) et soustrayant (16) de (15) on obtient
5b) Montrer qu’il n’est pas possible de trouver des coefficients b1 , b2 , c2 pour que l’ordre général
du schéma soit égal à 3.
Indication : Evaluer par exemple τ(t, h) pour la fonction f (t, u) = u.
Corrigé : Pour montrer que l’ordre général du schéma n’est pas égal à 3 il suffit de trouver
un contre-exemple et en suivant l’indication, on évalue le terme en h2 dans (14) pour la fonction
f (t, u(t)) = u(t). On a donc u′ (t) = u(t) et ensuite u′′ (t) = u′ (t) = u(t) et u′′′ (t) = u(t). Donc,
ici
u(t + h) − u(t) h h2
= u(t) + u(t) + u(t) + O(h3).
h 2 6
Si f (t, u(t)) = u(t), alors
Il a été vu que si b1 + b2 = 1 et b2 c2 = 21 alors le schéma est d’ordre 2. Pour ces valeurs des
coefficients
u(t + h) − u(t) h2
− F(t, u(t), h) = u(t) + O(h3)
h 6
2
et le schéma est bien d’ordre 2, mais le terme dominant de τ(t, h) est ici h6 u(t) qui n’est pas en
O(h3 ). En conclusion, l’ordre général du schéma ne peut pas être égal à 3.
5c) Soient des coefficients b1 , b2 , c2 tels que le schéma (18) est d’ordre 2. On considère l’équation
différentielle
u′ = λu, u(0) = 1, avec λ < 0. (17)
11
Ecrire la solution exacte u(t) et observer que u(t) → 0 quand t → ∞. On note Ui l’approxima-
tion, donnée par le schéma (18), de la solution exacte u(ti), ti = ih. Montrer que Ui → 0 quand
i → ∞, si et seulement si −2 < λh < 0.
Remarque : la contrainte sur le pas de temps −2 < λh < 0 est une condition dite de stabilité
absolue du schéma.
Corrigé : La solution exacte de l’équation différentielle est évidemment u(t) = eλt et bien
entendu, si λ < 0, alors u(t) → 0 quand t → 0. Pour f (t, u(t)) = λu(t) et pour b1 + b2 = 1 et
b2 c2 = 21 on peut écrire
h
F(ti ,Ui , h) = b1 λUi + b2 λ(Ui + c2 hλUi ) = λUi + λ2Ui .
2
Par conséquent,
r2
h 2
Ui+1 = Ui + h λUi + λ Ui = 1 + r + Ui , r = λh.
2 2
Par conséquent, pour que Ui → 0 quand i → ∞ avec ti = ih, c’est-à-dire pour que la solution
numérique reproduise la comportement de la vraie solution pour t → ∞, il faut et il suffit que
2
1 + r + r < 1, r = λh.
2
r2
−2 < r +
2
et l’inégalité à gauche est toujours vérifiée. Donc Ui → 0 quand i → ∞, si et seulement si
−2 < r = λh < 0,
12
ou encore, tenant compte que λ < 0,
2
0<h<− .
λ
On constate ici que plus −λ = |λ| sera grand, plus la condition de stabilité absolue mettra une
borne sur des valeurs possibles de h.
6a) Expliciter ce schéma, c.-à-d. donner la fonction F(t, u(t), h) telle que l’approximation au
temps ti = t0 +ih, notée Ui , de la solution de l’équation du/dt = f (t, u(t)), u(t0) = u0 est donnée
par le schéma
U0 = u0
Ui+1 = Ui + hF(ti,Ui , h) (18)
ti+1 = ti + h, i = 0, 1, ....
Corrigé : Les schémas de Runge-Kutta sont discutés dans la chapitre 2.2 de la partie 4 du cours.
Avec les notations du cours, ici
c1 = 0, c2 = 1/2, c3 = 1, c4 = 1,
a 21 = 1/2, a 32 = 1, a 43 = 1,
(les autres coefficients ai j étant nuls) et
Ui,1 = Ui
h
Ui,2 = Ui + f (ti ,Ui,1)
2
h
Ui,3 = Ui + h f ti + ,Ui,2
2
Ui,4 = Ui + h f (ti + h,Ui,3)
13
et finalement
1 2 h 1
Ui+1 = Ui + h f (ti ,Ui,1) + f ti + ,Ui,2 + f (ti + h,Ui,4)
6 3 2 6
On observe qu’il s’agit bien d’un schéma explicite, dans la mesure où partant de Ui,1 = Ui on
peut déterminer Ui,2 , ensuite Ui,3 et enfin Ui,4.
6b) Vérifier à partir des relations données en cours que ce sch éma est bien d’ordre 3.
Corrigé : On rappelle (voir partie cours) que pour qu’un schéma de Runge-Kutta soit d’ordre
3, les conditions suivantes doivent être satisfaites
q q q
1
∑ bi = 1, ci = ∑ ai j , i = 1, · · ·, q, ∑ bici = 2
i=1 j=1 i=1
ainsi que
q q q
1 1
∑ bic2i = 3 , ∑ ∑ bi ai j c j = 6 .
i=1 i=1 j=1
Ici q = 4, les coefficients sont donnés ci-dessus ; les deux premières relations sont vérifiées et
on a bien
4
1 1 1 4 2 1 1 4 4 1
∑ i i 3 6 2 ∑ i i 12 6 = 3 , ∑ ∑ bi ai j c j = 6 .
b c = + = , b c2
= +
i=1 i=1 i=1 j=1
6c) On considère le cas particulier d’une équation différentielle de la forme du/dt = λ u avec λ
un nombre réel. Montrer directement, en évaluant pour cet exemple
u(t + h) − u(t)
τ(t, h) = − F(t, u(t), h),
h
que le schéma appliqué à cette équation différentielle est d’ordre 3.
Corrigé : Evaluant pour f (t, u(t)) = λu(t) la fonction F(t, u(t), h) on obtient
1 2 h 1 h
F(t, u(t), h) = λu(t)+ λ u(t) + λu(t) + λ u(t) + hλ u(t) + hλ u(t) + λu(t) .
6 3 2 6 2
Regroupant les termes on obtient
1 1 1
F(t, u(t), h) = λu(t) + h λ2 u(t) + h2 λ3 u(t) + h3 λ4 u(t).
2 6 12
Cette expression est à comparer avec le développement de
u(t + h) − u(t) h h2 h3
= u′ (t) + u′′ (t) + u′′′(t) + u(4) (t) + 0(h4)
h 2 6 24
h h 2 h3
= λu(t) + λ2 u(t) + λ3 u(t) + λ4 u(t) + O(h4)
2 6 24
14
car u′ (t) = λu(t), u′′ (t) = λu′ (t) = λ2 u(t) etc. On en déduit que pour cette équation différentielle
h3 4
τ(t, h) = − λ u(t) + O(h4).
24
Cette expression est bien en O(h3 ) ce qui vérifie l’ordre du schéma pour cet exemple. Cepen-
dant, l’ordre général du schéma n’est pas 4 dans la mesure où pour cet exemple d’équation
différentielle avec f (t, u(t)) = λu(t), l’expression τ(t, h) 6= O(h4 ).
15