“Résolution des équations différentielles couplées utilisant MATLAB”
Transcription
“Résolution des équations différentielles couplées utilisant MATLAB”
Document de travail 2013-14 Juin 2013 “Résolution des équations différentielles couplées utilisant MATLAB” Sleiman TABIKH Maître de Conférences 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 www.ceregmia.eu Centre d’Etude et de Recherche en Economie, Gestion, Modélisation et Informatique Appliquée 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. 1 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) (1) y’=y(-c+dx) } 2 Le système (1) sera solutionné à l’aide du solveur ode45 (Runge-KuttaMerson 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. 3 Figure 1 1500 X:Proie Y:Predateur 1000 500 0 0 10 20 30 t 40 50 60 Figure 2 200 180 160 140 y 120 100 80 60 40 20 0 0 500 1000 x 1500 Figure 3 700 X:Proie Y:Predateur 600 500 400 300 200 100 0 0 10 20 30 t 40 50 60 Figure 4 60 55 50 y 45 40 35 30 25 350 400 450 500 550 x 600 650 700 Figure 5 3000 X:Proie Y:Predateur 2500 2000 1500 1000 500 0 0 10 20 30 t 40 50 60 Figure 6 400 350 300 y 250 200 150 100 50 0 0 500 1000 1500 x 2000 2500 3000 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 (2) 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. 10 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]. 11 Figure 7 800 S C F 700 600 500 400 300 200 100 0 0 5 10 15 t 20 25 30 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 13