Introduction   Modèle                     Programmation                     Généralisation




                  Librairie...
Introduction                   Modèle          Programmation                     Généralisation



                       ...
Introduction                     Modèle                       Programmation                     Généralisation



        ...
Introduction                         Modèle                    Programmation                     Généralisation



       ...
Introduction                Modèle           Programmation                     Généralisation



                         ...
Introduction        Modèle              Programmation                          Généralisation



                         ...
Introduction   Modèle                   Programmation                     Généralisation



                        Les éq...
Introduction              Modèle                  Programmation                     Généralisation



                    ...
Modèle                        fonction main




                 arguments
solver                               time




 ...
Introduction         Modèle         Programmation                     Généralisation



                    Intégrer dans ...
Introduction         Modèle         Programmation                     Généralisation



                    Intégrer dans ...
Introduction                Modèle                Programmation                     Généralisation



                    ...
Introduction                 Modèle                     Programmation                          Généralisation



         ...
Introduction                  Modèle                     Programmation                      Généralisation



            ...
Introduction                  Modèle                  Programmation                     Généralisation



                ...
Introduction          Modèle        Programmation                     Généralisation




               pars <- parms

   ...
Introduction                 Modèle              Programmation                           Généralisation



               ...
Introduction            Modèle             Programmation                     Généralisation



                           ...
Résultat




           2.5
           2.0
Effectif

           1.5
           1.0
           0.5
           0.0



      ...
Introduction                Modèle           Programmation                     Généralisation




       Merci de votre at...
Distribution normale                     Distribution log−normale                     Distribution uniforme




          ...
Prochain SlideShare
Chargement dans…5
×

Slides Simecol

621 vues

Publié le

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
621
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Slides Simecol

  1. 1. Introduction Modèle Programmation Généralisation Librairie simecol pour R Timothée POISOT 3 février 2009 Librairie simecol pour R 1 / 20
  2. 2. Introduction Modèle Programmation Généralisation Plan Introduction 1 Modèle 2 Programmation 3 Aller plus loin 4 Plusieurs espèces Stochasticité Librairie simecol pour R 2 / 20
  3. 3. Introduction Modèle Programmation Généralisation Objectifs Écrire un modèle simple. . . 1 Écrire les équations en langage S Écrire le vecteur de paramètes Intégrer dans les structures de simecol Librairie simecol pour R 3 / 20
  4. 4. Introduction Modèle Programmation Généralisation Objectifs Écrire un modèle simple. . . 1 Écrire les équations en langage S Écrire le vecteur de paramètes Intégrer dans les structures de simecol . . . et aller plus loin 2 Plusieurs espèces Stochasticité Librairie simecol pour R 3 / 20
  5. 5. Introduction Modèle Programmation Généralisation Pré-requis R http://cran.r-project.org 2.7 au moins. . . simecol Dans R : install.packages(’simecol’) Avec les dépendances ! les fichiers http://homepage.mac.com/tim.poisot/R Fichier intro-simecol.r Pour le code source commenté ! Librairie simecol pour R 4 / 20
  6. 6. Introduction Modèle Programmation Généralisation Le modèle k1 k2 proie Prédateur k3 Librairie simecol pour R 5 / 20
  7. 7. Introduction Modèle Programmation Généralisation Les équations dp = p · (k1 − k2 P ) (1) dt dP = −P · (k3 − k2 p) (2) dt Librairie simecol pour R 6 / 20
  8. 8. Introduction Modèle Programmation Généralisation Écriture du modèle Vecteur nommé de paramètres p <- c(’k1’=0.2,’k2’=0.2,’k3’=0.2) Équations dx1 <- p[quot;k1quot;]*x[1] -p[quot;k2quot;]*x[1]*x[2] dx2 <- - p[quot;k3quot;]*x[2] +p[quot;k2quot;]*x[1]*x[2] Note : x[1] et x[2] contiennent p et P ! Librairie simecol pour R 7 / 20
  9. 9. Modèle fonction main arguments solver time parms init
  10. 10. Introduction Modèle Programmation Généralisation Intégrer dans simecol LVsim <- new(quot;odeModelquot;, main = function(time,init,parms) { # MODELE ! list(c(dp,dP)) }, parms = c(’alpha’=0.2, ’beta’=0.2, ’gamma’=0.2, ’sigma’=0.2), times = c(from=0, to=60, by=1e-1), init = c(0.5,0.5), solver = quot;lsodarquot; ) Librairie simecol pour R 9 / 20
  11. 11. Introduction Modèle Programmation Généralisation Intégrer dans simecol # MODELE pars <- parms p <- init[1] P <- init[2] dp <- p*(pars[’alpha’]-pars[’beta’] *P) dP <- -P*(pars[’gamma’]-pars[’sigma’]*p) Librairie simecol pour R 10 / 20
  12. 12. Introduction Modèle Programmation Généralisation Go ! Pour lancer la simulation (sim) : out(sim(LVsim)) Renvoie (out) le résultat : time 1 2 1 0.0 0.5000000 1.0000000 2 0.5 0.4986641 0.9535809 3 1.0 0.4981401 0.9107796 4 1.5 0.4968445 0.8726915 5 2.0 0.4952770 0.8383405 6 2.5 0.4939464 0.8068871 7 3.0 0.4932749 0.7776996 8 etc... Librairie simecol pour R 11 / 20
  13. 13. Introduction Modèle Programmation Généralisation Résultat 1.8 1.6 1.4 1.2 Effectif 1.0 0.8 0.6 0 20 40 60 80 100 Temps Librairie simecol pour R Prédateurs et proies 12 / 20
  14. 14. Introduction Modèle Programmation Généralisation Quelques infos sur les vecteurs Additivité c + V = {c + V1 , c + V2 , . . . , c + Vn } U + V = {U1 + V1 , U2 + V2 , . . . , Un + Vn } Multiplication c · V = {cV1 , cV2 , . . . , cVn } U · V = {U1 V1 , U2 V2 , . . . , Un Vn } Et autres n sum(V)= i=1 Vi n prod(V)= i=1 Vi length(V)= n V[i]= Vi V[1:4]= {V1 , V2 , V3 , V4 } Librairie simecol pour R 13 / 20
  15. 15. Introduction Modèle Programmation Généralisation Les équations du “nouveau” modèle dpi = pi · (k1i − k2i P ) (3) dt n dP = −P · k3 − k2i pi (4) dt i=1 n = 2, (k1 )1 > (k1 )2 , et (k2 )1 > (k2 )2 Librairie simecol pour R 14 / 20
  16. 16. Introduction Modèle Programmation Généralisation pars <- parms p <- init[1:2] P <- init[3] K1 <- c(pars[’k1a’],pars[’k1b’]) K2 <- c(pars[’k2a’],pars[’k2b’]) dp <- p*(K1 - K2*P) dP <- -P*(pars[’k3’] - sum(K2*p)) list(c(dp,dP)) Librairie simecol pour R 15 / 20
  17. 17. Introduction Modèle Programmation Généralisation Résultat 3.0 2.5 2.0 Effectif 1.5 1.0 0.5 0.0 0 50 100 150 200 Temps Librairie simecol pour R 16 / 20
  18. 18. Introduction Modèle Programmation Généralisation Stochasticité pars <- parms p <- init[1:2] P <- init[3] K1 <- c(pars[’k1a’],pars[’k1b’]) K2 <- c(pars[’k2a’],pars[’k2b’]) + runif(length(p),-0.0002,0.0002) dp <- p*(K1 - K2*P) dP <- -P*(pars[’k3’] - sum(K2*p)) list(c(dp,dP)) Librairie simecol pour R 17 / 20
  19. 19. Résultat 2.5 2.0 Effectif 1.5 1.0 0.5 0.0 0 50 100 150 200 Temps 8 6 Effectif 4 2 0 0 50 100 150 200 Temps
  20. 20. Introduction Modèle Programmation Généralisation Merci de votre attention ! R http://cran.r-project.org simecol http://simecol.sourceforge.net exemples http://homepage.mac.com/tim.poisot/R/ Fichiers : intro-simecol.r, slides-simecol.pdf Librairie simecol pour R 19 / 20
  21. 21. Distribution normale Distribution log−normale Distribution uniforme 100 800 150 80 600 100 60 400 40 50 200 20 0 0 0 −4 −3 −2 −1 0 1 2 3 0 10 20 30 40 0.0 0.2 0.4 0.6 0.8 1.0 hist(rnorm(1000),col=’lightgrey’,main=’Distribution normale’,xlab=”,ylab=”) hist(rlnorm(1000),col=’lightgrey’,main=’Distribution log-normale’,xlab=”,ylab=”) hist(runif(1000),col=’lightgrey’,main=’Distribution uniforme’,xlab=”,ylab=”) Librairie simecol pour R 20 / 20

×