Document de travail 2013-14
“Résolution des équations différentielles couplées
utilisant MATLAB”
Sleiman TABIKH Maître de Conférences
Juin 2013
Centre d’Etude et de Recherche en Economie, Gestion, Modélisation et Informatique Appliquée
Université des Antilles et de la Guyane. Faculté de Droit et d’Economie de la Martinique. Campus de Schoelcher - Martinique FWI B.P. 7209 - 97275 Schoelcher Cedex - Tél. : 0596. 72.74.00 - Fax. : 0596. 72.74.03
ww
w.c
ereg
mia
.eu
1
Résolution des Equations Différentielles Couplées Utilisant MATLAB
Sleiman TABIKH Ceregmia, Université des Antilles et de la Guyane
Résumé :
Nous traitons dans ce document la résolution des équations différentielles couplées à l’aide du logiciel MATLAB à travers deux exemples, le premier est le modèle Proie-Prédateur (2 Equations différentielles), le second étudie la Modélisation des Epidémies (3 Equations différentielles). Abstract :
We deal in this paper the solution of differential equations coupled with the software MATLAB through two examples, the first is the prey-predator model (two differential equations), and the second studies the modeling epidemics (3 Differential Equations). Mots-Clés :
MATLAB, Equation Différentielle, Modélisation, Proie-Prédateur, Modélisation des Epidémies, ode45. Introduction :
L’objet de cette étude est la résolution des équations différentielles couplées à l’aide du logiciel MATLAB. Après modélisation et mise au point des équations, intervient la programmation sous MATLAB. Ceci est effectué à travers deux exemples, le premier est le Modèle Proie-Prédateur et le second concerne la Modélisation des Epidémies. Les courbes obtenues sont en parfait accord avec les résultats connus jusqu’à présent.
2
I-Modèle Proie-Prédateur Nous montrerons dans ce paragraphe l’évolution au cours du temps de
deux espèces : Proie et Prédateur. Après simplification et modélisation le problème est ramené à la résolution des deux équations différentielles couplées, donc elles doivent être solutionnées simultanément. On note X(t) et Y(t) les populations respectives des proies et prédateurs à l’instant t. Soient X0 et Y0 deux populations de références respectivement pour X(t) et Y(t). Afin de rendre le calcul agréable on va introduire deux nouvelles variables x(t)= X(t)/ X0 et y(t)= Y(t)/ Y0 [1].
Mise en équation : En l’absence des prédateurs, les proies ont un taux de croissance
constant a, traduit en équation il devient : x’/x=a, a est bien évidemment positif [1].
De même pour les prédateurs, en l’absence des proies, ils ont un taux d’extinction constant c, on peut écrire donc : y’/y=-c, comme pour le paramètre a, c est aussi positif [1].
Mais lorsque les deux espèces occupent le même territoire, il faut prendre en compte leurs rencontres, c’est alors que la population des proies (x) diminue tandis que la population des prédateurs (y) va augmenter.
Le taux de décroissance des proies, dû aux prédateurs, est proportionnel au nombre des prédateurs, ce qui donne : x’/x=a –by, b est aussi positif.
Le taux d’augmentation du nombre des prédateurs, dû aux proies, est proportionnel au nombre des proies, on a alors : y’/y=-c+dx, comme pour les autres paramètres d est aussi positif. Pour récapituler, nous avons un système de deux équations différentielles. Ces sont : x’/x=a –by et y’/y=-c+dx
Résolution avec MATLAB : Il faut résoudre le système de deux équations différentielles couplées
suivantes: x’=x(a-by) y’=y(-c+dx)
} (1)
3
Le système (1) sera solutionné à l’aide du solveur ode45 (Runge-Kutta-Merson imbriqué d’ordres 4 et 5) du MATLAB [2].
Résultats : Les constantes a, b, c et d sont strictement positifs. Le temps est exprimé
en année. Les courbes tracées sur les figures ci-dessous ont été obtenues pour les valeurs numériques suivantes : a=0.2, b=0.005, c=0.5 et d=0.001 [3].
Nous exposons plusieurs résultats obtenus avec des conditions initiales différentes.
Les figures 1 et 2 correspondent aux valeurs initiales x0 = 100 et y0 = 30. Sur les figures 3 et 4, nous avons tracé les courbes correspondantes à x0 =
400 et y0 = 30. Finalement, les figures 5 et 6 ont été obtenues avec x0 = 2000 et y0 = 200. Ces figures montrent bien que les résultats obtenus, en utilisant le solveur
ode45 de MATLAB , sont cohérents malgré les conditions initiales différentes, ils sont aussi conformes à ceux existants dans la littérature [1]. On peut remarquer notamment la périodicité de la solution.
0 10 20 30 40 50 600
500
1000
1500
t
Figure 1
X:Proie
Y:Predateur
0 500 1000 15000
20
40
60
80
100
120
140
160
180
200
x
y
Figure 2
0 10 20 30 40 50 600
100
200
300
400
500
600
700
t
Figure 3
X:Proie
Y:Predateur
350 400 450 500 550 600 650 70025
30
35
40
45
50
55
60
x
y
Figure 4
0 10 20 30 40 50 600
500
1000
1500
2000
2500
3000
t
Figure 5
X:Proie
Y:Predateur
0 500 1000 1500 2000 2500 30000
50
100
150
200
250
300
350
400
x
y
Figure 6
10
II-Modélisation des épidémies
Nous traitons dans cette partie la progression d’épidémie. D’abord la modélisation puis la mise en équation et enfin la résolution à l’aide du logiciel MATLAB.
Un groupe d’individus (Peu nombreux) infecté est introduit dans la population (Nombre constant), on va s’intéresser à la progression du virus [4]. Pour cela, la population est séparé en 3 catégories : Saine (Effectif : S), Contaminée (Effectif : C) et Guéri ou Décédée (Effectif : F).
Mise en équation : On peut écrire : S’=-rSC (La diminution de l’effectif sain est
proportionnel au nombre d’individus sains et d’individus contaminés, r est une constante positif).
Aussi : F’=aC (La progression de F est proportionnel à C, a est une constante positif).
Par ailleurs, les individus sortant de S (S’) vont à C donc il correspond à une augmentation de C, de plus les individus allant vers F (F’ ) font diminuer C de la même quantité. Alors, on peut écrire:
C’ =|S’|-F’ ce qui donne C’=rSC-aC. Résolution avec MATLAB : En regroupant les équations S’, F’ et C’ nous obtenons un système de 3
équations différentielles couplées (Model de Kermack-McKendrick):
S’=-rSC F’=aC C’=rSC-aC
Comme pour le système (1), le système (2) sera résolu à l’aide du solveur
ode45 du MATLAB [2]. Les conditions initiales S0 = S(t=0), F0 = F(t=0) et C0 = C(t=0). Les
données numériques sont tirées d’un exemple vécu [4] : N = 763: Effectif global
S0 =762: Effectif sain initiale
Or C0 =N- S0: Effectif contaminée initial. Bien évidemment F0 = 0.
} (2)
11
r = 2,18.10-3 /(individu . jour) , a = 0,404 /jour.
Résultats : Nous avons tracé sur la figure 7 les courbes représentants les évolutions
des effectifs S, C et F en fonction du temps, ces résultats sont cohérents et en parfait accord avec la littérature existante [5].
0 5 10 15 20 25 300
100
200
300
400
500
600
700
800
t
Figure 7
S
C
F
13
Conclusion Nous avons présenté dans ce bref document des applications (Deux exemples classiques) du solveur ode45 du MATLAB . Nous avons constaté la cohérence des résultats obtenus ici et leur accord avec ceux existants. Il faut souligner la facilité de programmation de ce solveur et la rapidité de calcul, c’est presque instantané. Références bibliographiques
[1] http://w3.bretagne.ens-cachan.fr/math/people/gregory.vial/files/cplts/volterra.pdf [2] http://nte.mines-albi.fr/MATLAB/co/uc_EquaDiff.html [3] http://dlst.ujf-grenoble.fr/data/cours/documents/MAT127-20100507175304.pdf [4] http://www.ann.jussieu.fr/~postel/CoursMatlab/RappelsEDO.pdf [5] http://www.math.uqam.ca/ism/cegeps/Arino.pdf