256
7 Equations différentielles ordinaires
0
5
10
15
20
25
30
35
40
−3
−2
−1
0
1
2
3
x
z
t
0
5
10
15
20
25
30
35
40
−15
−10
−5
0
5
10
15
x
z
t
Figure 7.24. Composantes des solutions y du système (7.79) pour μ = 1 (à
gauche) et μ = 10 (à droite)
Table 7.1. Nombre d’itérations pour diverses méthodes d’approximation en
fonction de μ
μ
ode23
ode45
ode23s ode15s
0.1
471
509
614
586
1
775
1065
838
975
10
1220
2809
1005
1077
100
7835
23473
299
305
1000 112823
342265
183
220
dynamique est très différente pour de grandes valeurs de μ : celle ayant la
dynamique la plus rapide impose une limitation sur le pas d’intégration
d’autant plus sévère que μ est grand.
Résoudre (7.78) avec ode23 et ode45 est trop coûteux quand μ est
grand. Avec μ = 100 et la donnée initiale y = (1, 1)
T , ode23 effectue
7835 itérations et ode45 effectue 23473 itérations pour résoudre l’équation entre t = 0 et t = 100. L’aide MATLAB (“help”) nous apprend
d’ailleurs que ces méthodes ne sont pas recommandées pour des problèmes raides. Pour ce type de problème, il est suggéré d’utiliser par
exemple les méthodes implicites ode23s ou ode15s. La différence en
ode23s
terme de nombre d’itérations est considérable, comme le montre la Table
7.1. Remarquer cependant que le nombre d’itérations pour ode23s n’est
plus petit que pour ode23 seulement pour des valeurs de μ assez grandes
(donc pour des problèmes très raides).
Octave 7.4 Bien que ode15s et ode23s n’existent pas dans Octave,
celui-ci comporte néanmoins plusieurs solveurs d’équations différentielles
ordinaires capables de traiter des problèmes raides, soit directement dans
le noyau d’Octave (lsode, dassl, daspk), soit dans le package odepkg
d’Octave-Forge (ode2r, ode5r, odebda, oders, odesx).
7 Equations différentielles ordinaires
0
5
10
15
20
25
30
35
40
−3
−2
−1
0
1
2
3
x
z
t
0
5
10
15
20
25
30
35
40
−15
−10
−5
0
5
10
15
x
z
t
Figure 7.24. Composantes des solutions y du système (7.79) pour μ = 1 (à
gauche) et μ = 10 (à droite)
Table 7.1. Nombre d’itérations pour diverses méthodes d’approximation en
fonction de μ
μ
ode23
ode45
ode23s ode15s
0.1
471
509
614
586
1
775
1065
838
975
10
1220
2809
1005
1077
100
7835
23473
299
305
1000 112823
342265
183
220
dynamique est très différente pour de grandes valeurs de μ : celle ayant la
dynamique la plus rapide impose une limitation sur le pas d’intégration
d’autant plus sévère que μ est grand.
Résoudre (7.78) avec ode23 et ode45 est trop coûteux quand μ est
grand. Avec μ = 100 et la donnée initiale y = (1, 1)
T , ode23 effectue
7835 itérations et ode45 effectue 23473 itérations pour résoudre l’équation entre t = 0 et t = 100. L’aide MATLAB (“help”) nous apprend
d’ailleurs que ces méthodes ne sont pas recommandées pour des problèmes raides. Pour ce type de problème, il est suggéré d’utiliser par
exemple les méthodes implicites ode23s ou ode15s. La différence en
ode23s
terme de nombre d’itérations est considérable, comme le montre la Table
7.1. Remarquer cependant que le nombre d’itérations pour ode23s n’est
plus petit que pour ode23 seulement pour des valeurs de μ assez grandes
(donc pour des problèmes très raides).
Octave 7.4 Bien que ode15s et ode23s n’existent pas dans Octave,
celui-ci comporte néanmoins plusieurs solveurs d’équations différentielles
ordinaires capables de traiter des problèmes raides, soit directement dans
le noyau d’Octave (lsode, dassl, daspk), soit dans le package odepkg
d’Octave-Forge (ode2r, ode5r, odebda, oders, odesx).
