modelo de lotka volterra

Upload: juan-carlos-leiva

Post on 25-Feb-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Modelo de Lotka Volterra

    1/15

    CI56C: Tarea 2Anlisis de la Ley de Lotka-Volterra

    Alumno: Javier Rovegno Campos

    11 de junio de 2008

    Curso: CI56C

    Profesora: Matilde Lpez.

    Auxiliar: Mara Hurtado.

    Resumen

    Esta tarea trata de evaluar las distintas metodologas de clculo, para simularel modelo de crecimiento poblacional de Lotka-Volterra. Para la realizacin delos clculos se utilizaron solamente las siguientes herramientas libres: maxima ,python, octave y scilab.

    LICENCIA:Atribucin-No Comercial-Licenciar Igual 2.5 Genrica.CC by-nc-sa/2.5/deed.es_CL

    1

  • 7/25/2019 Modelo de Lotka Volterra

    2/15

    ndice

    1. Definicin del Modelo Lotka-Volterra: 31.1. Supuestos del Modelo . . . . . . . . . . . . . . . . . . . . . . . . 31.2. Variables del Modelo . . . . . . . . . . . . . . . . . . . . . . . . 31.3. Modelo matemtico . . . . . . . . . . . . . . . . . . . . . . . . . 41.4. Simulacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.4.1. Parmetros del modelo . . . . . . . . . . . . . . . . . . . 41.4.2. Condiciones de Borde . . . . . . . . . . . . . . . . . . . 41.4.3. Tiempo de simulacin . . . . . . . . . . . . . . . . . . . 4

    2. Simulacin utilizando herramientas libres 52.1. Maxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.1.1. Clculo de puntos de equilibrio . . . . . . . . . . . . . . 52.1.2. Resultado puntos de equilibrios del modelo . . . . . . . . 5

    2.2. Octave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.2.1. Clculo de diagrama de estado y simulacin con Octave. . 52.2.2. Resultado diagrama de estado y simulacin con Octave . . 9

    2.3. Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.1. Resultado diagrama de estado y simulacin con Python . . 10

    2.4. Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4.1. Clculo de diagrama de estado y simulacin con Scilab . . 112.4.2. Resultado diagrama de estado y simulacin con Scilab . . 13

    3. Conclusiones 143.1. Modelo Lotka-Volterra . . . . . . . . . . . . . . . . . . . . . . . 143.2. Sobre el uso de herramientas libre en el clculo cientfico . . . . . 14

    2

  • 7/25/2019 Modelo de Lotka Volterra

    3/15

    1. Definicin del Modelo Lotka-Volterra:

    Referencia [2]Modelos matemticos de competencia entre especies con recursos limitados vivien-

    do en el mismo espacio con los mismos requerimientos ambientales, han sido modifi-cados para simular la interaccin simple entre predador y presa.

    Por un lado el modelo de competencia predice que la coexistencia de la poblacinde ambas especies es imposible y una ser eliminada de acuerdo al Principio de exclu-sin competitiva.

    El modelo de depredacin simple predice fluctuaciones cclicas entre las poblacio-nes de las presas y los predadores. Reduccin del nmero de predadores permite larecuperacin de las presas, las cuales estimulan a que crezca la poblacin de predado-res. Al crecer el nmero de predadores disminuye la poblacin de las presas, generandoeventualmente despus la reduccin de la poblacin de predadores.

    Referencias [1]Es un modelo de crecimiento poblacional de un ecosistema en el cual slo existen

    2 individuos:

    Poblacin del depredador

    Poblacin de la presa

    1.1. Supuestos del Modelo

    Referencias [1]

    1. La poblacin de la presa crece en forma exponencial en ausencia del depredador.

    2. La poblacin de predadores decrece exponencialmente en ausencia de presas.

    3. El comportamiento del sistema depende slo de las relaciones de densidad de laspoblaciones.

    1.2. Variables del Modelo

    Referencias [1]

    x(t):Poblacin presas nmero de individuos en un tiempot.

    y(t):Poblacin predadores nmero de individuos en un tiempot.

    a:tasa de nacimiento individual presas.

    by(t)

    :tasa de mortalidad individual presas la mortalidad de las presas dependedirectamente de su poblacin y la poblacin de predadores.

    c:tasa de mortalidad individual predadores.

    dx(t):tasa de natalidad individual presas la natalidad de los predadores dependedirectamente de su poblacin y la poblacin de presas.

    3

  • 7/25/2019 Modelo de Lotka Volterra

    4/15

    1.3. Modelo matemtico

    Referencias [1]

    x(t)

    t = x(t) (aby(t)) (1.1)

    y(t)

    t= y(t) (c + dx(t)) (1.2)

    1.4. Simulacin

    1.4.1. Parmetros del modelo

    Para que el modelo se comporte como una fluctuacin cclica de las poblaciones seutiliz valores clsicos de los parmetrosa,b,c y d:

    a = 3

    b = 2

    c = 2

    d = 1

    Nota: Los parmetrosa,b,c y dpueden estar en cualquier unidad de tasa de creci-miento, lo importante es que sean consistentes en la unidad de tiempo utilizada.

    Ejemplo:[#nacimientos/hora],[#nacimientos/ano],[#muertes/ano], etc.

    1.4.2. Condiciones de Borde

    Dada la inestabilidad del modelo se utiliz valores bajos de poblacin inicial, paralograr el efecto de fluctuaciones cclicas:

    x(t=0) = 2[presas]

    y(t=0) = 2[predadores]

    1.4.3. Tiempo de simulacin

    La unidad de tiempo depende de la unidad en que estn definidas los parmetrosdel modelo.

    t: Tiempo

    0 t 10t: Intervalos de tiempot=0,1

    4

  • 7/25/2019 Modelo de Lotka Volterra

    5/15

    2. Simulacin utilizando herramientas libres

    2.1. MaximaMaxima es una herramienta libre de CAS (computer algebra system). Dado que el

    programa slo resuelve sistemas de ecuaciones de primer grado utilizando la transfor-mada de Laplace, slo fue posible obtener los puntos de equilibrio del modelo, dadoque no tiene solucin analtica y slo es posible de resolver numricamente.

    2.1.1. Clculo de puntos de equilibrio

    Algorithm 1Lotka-Volterra, clculo de puntos de equilibrio

    1 / LotkaV o l t e r r a t w od i me n si o na l n o n l i n e a r s ys te m o f

    d i f f e r e n t i a l e q u a t i o n s /2 / R e i n i c i a r /3 k i l l ( a l l ) ;4 / E c u a c i o n e s /5 e q n_ 1 : d i f f ( x ( t ) , t ) = x ( t ) ( aby( t ) ) ;6 e q n_ 2 : d i f f ( y ( t ) , t ) = y ( t ) ( cdx( t ) ) ;7 / C lc u lo de P un to s d e e q u i l i b r i o /8 s o l ve ( [ r hs ( eqn_1 ) = 0 , r hs ( eqn_2 ) = 0] , [ x ( t ) , y ( t ) ] ) ;

    2.1.2. Resultado puntos de equilibrios del modelo

    [[x(t) =0,y(t) =0], [x(t) =c/d,y(t) =a/b]]

    2.2. Octave

    Octave es una herramienta libre de clculo numrico similar a Matlab.

    2.2.1. Clculo de diagrama de estado y simulacin con Octave.

    Referencia [3]

    5

  • 7/25/2019 Modelo de Lotka Volterra

    6/15

    Algorithm 2(Parte I) Lotka-Volterra, clculo de diagramas de estado y simulacin conOctave

    1 % Name: myLV.m2 % A u t h or : S im on e Z u c c h e r3 % C r e a t e d : 17 May 2 00 74 % P u rp o se : s o l v e t h e L ot kaV o l t e r r a s ys te m5 % u = au buv6 % v = c v + d u v7 % g iv en u0 an d v 08 %Input: s e e f i l e9 % O u t pu t :

    10 % 1 . p l o t o f u ( t ) v e r su s v ( t ) t o g e t h e r w it h t h e v e c t o rf i e l d

    11 % 2 . p l o t t ime h i s t o r i e s of u ( t ) , v ( t )

    12 % M o d i f i e d :13 % Name: myLV. m14 % A u t h or : S im on e Z u c c h e r15 % C r e a t e d : 1 7 May 2 00 716 % P u rp o se : s o l v e t h e L ot kaV o l t e r r a s ys te m17 % u = a u buv18 % v = c v + d u v19 % g i ve n u0 a nd v020 %Input: s e e f i l e21 % O u t p u t :22 % 1 . p l o t o f u ( t ) v e r su s v ( t ) t o g e t h e r w it h t h e v e c t o r

    f i e l d23 % 2 . p l o t t ime h i s t o r i e s of u ( t ) , v ( t )

    24 % M o d i f i e d :25 %26 % The e q u i l i b r i um p o i n t s a r e t h e f o ll o wi n g , b u t we

    c o n s i d e r o n ly u0 a nd v0 % nonn e g a t i v e27 %28 % [ u = 0 , v = 0 ] ,29 % [ u = c / d , v = a / b ] ,30 %31 %C le ar a l l v a r i a b l e s32 c l e ar a l l;33 % Window r an ges34 xmi n= 0; xmax= 10;35 ymi n= 0; ymax= 10;36 % Mo del c o n s t a n t37 g l o b a l aa ;

    6

  • 7/25/2019 Modelo de Lotka Volterra

    7/15

    Algorithm 3(Parte II) Lotka-Volterra, clculo de diagramas de estado y simulacincon Octave

    1 % Give i n s t r u c t i o n s2 d i s p( ) ;3 d i s p(

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ );

    4 d i s p( T hi s s c r i p t s o lv e s t he c l a s s i c LotkaV o l t e r r asy st em : ) ;

    5 d i s p( u = au buv ) ; d i s p( v = cv + duv ) ;6 d i s p( g i ve n a , b , c , d a l l p o s i t i v e ) ;7 %S e t i n i t i a l c o n d i t i o n s ( v e c t o r format)8 aa = i n p u t( I n s e r t c o n s t a n t s [ a b c d ] : ) ;9 % E q ui l i b ri u m p o i n ts

    10 eq = [ 0 0 ] ;11 e q = [ e q ; a a ( 3 ) / a a ( 4 ) a a ( 1 ) / a a ( 2 ) ] ;12 d i s p( E q u i l i b r i u m p o i n t s : ) ;13 d i s p( eq ) ;14 %S e t i n i t i a l c o n d i t i o n s ( v e c t o r format)15 x0 =i n p u t( I n s e r t i n i t i a l c o n d i t i o n s [ x 0 y 0 ] : ) ;16 %S e t f i n a l t im e f o r i n t e g r a t i o n17 t ma x =i n p u t( I n s e r t f i n a l t im e : ) ;18 d i s p( I n i t i a l co n di ti o n : ) ;19 d i s p( x0 ) ;20 % Time p a r a m e t e r s21 t m in = 0 ; d t = . 0 1 ;22 % C r e a t e t i me

    23 t = t m i n : d t : t max ;24 %d x a n d d y u s e d o n l y f o r v e c t o r s25 dx =abs( xmaxxmin ) /3 0 ;26 dy =abs( ymaxymin ) /3 0 ;27 % r e s c a l e s v e c to r s i z e28 s c a l e = 0 .0 2 7max (abs( xmaxxmin ) ,ab s( ymaxymin ) ) ;29 % D e f i n i t i o n o f t h e d yn am ic al s ys te m30 f u n c t i o n x d o t = d s y s ( x , t )31 g l o b a l aa ;32 u = x ( 1 ) ;33 v = x ( 2 ) ;34 x d ot ( 1 ) = a a ( 1 ) u aa ( 2 ) uv ; x d o t ( 2 ) = aa ( 3 ) v + a a ( 4 )

    uv ;35 e n d f u n c t i o n36 _ _ g n u p l o t_ s e t _ _ n o ke y37 s e t a x = [ xm in xmax ymi n ymax ] ;38 a x i s( s e t a x )39 [X, Y] = meshgrid( xmin : dx :xmax , ymin : dy :ymax ) ;40 DX = a a ( 1 ) X aa ( 2 ) X. Y;41 DY = aa ( 3 ) Y + a a ( 4 ) X. Y;42 L = s q r t(DX.^2 + DY. ^2 ) ;43 m y t i t l e = [ " Phas e p o r t r a i t . I n i t i a l co nd i t i o ns : x0= "

    num2str( x0 ( 1 ) ) \ 44 " , y0 =" num2str( x0 (2 ) ) ] ;45 _ _ g n u p l o t_ s e t _ _ n o ke y

    46 _ _ g n u p l o t_ s e t _ _ x l a b e l x ( t ) 47 _ _ g n u p l o t_ s e t _ _ y l a b e l y ( t )

    7

  • 7/25/2019 Modelo de Lotka Volterra

    8/15

    Algorithm 4(Parte III) Lotka-Volterra, clculo de diagramas de estado y simulacincon Octave

    1 t i t l e( m y t i t l e )2 %P l o t v e ct or f i e l d3 quiv e r(X, Y, s c a l eDX . / L , s c a l e DY . / L)4 hold on ;5 %P lo t a l l e q u i l ib r i u m p o i n t s6 p l o t( e q ( : , 1 ) , e q ( : , 2 ) , k )7 x = l s o d e ( " d s y s " , x0 , t ) ;8 p l o t( x ( 1 , 1 ) , x ( 2 , 1 ) , k , x ( 1 , : ) , x ( 2 , : ) , r )9 hold o f f ;

    10 % W ai t f o r k e y p r e s s e d d i s p( P l e as e p r e s s a key t oco nt in ue . . . ) ;

    11 pause( ) ;

    12 m y t i t l e = [ " Tim e h i s t o r i e s . I n i t i a l co nd i t i o ns : x0= "num2str( x0 ( 1 ) ) \

    13 " , y0 =" num2str( x0 (2 ) ) ] ;14 _ _ g nu p l ot _ s et _ _ a u to15 _ _ g n u p l o t_ s e t _ _ x l a b e l t 16 _ _ g n u p l o t_ s e t _ _ y l a b e l x ( t ) , y ( t ) 17 t i t l e( m y t i t l e )18 _ _ g n u p l o t_ s e t _ _ k ey19 %P l o t ti me h i s t o r i e s20 p l o t( t , x ( 1 , : ) , r ; x ( t ) ; , t , x ( 2 , : ) , g ; y ( t ) ; )21 % W ai t f o r k e y p r e s s e d22 pause( ) ;

    8

  • 7/25/2019 Modelo de Lotka Volterra

    9/15

    2.2.2. Resultado diagrama de estado y simulacin con Octave

    Figura 1: Diagrama de estado con Octave

    Figura 2: Simulacin poblacin predador y presa con respecto al tiempo con Octave

    9

  • 7/25/2019 Modelo de Lotka Volterra

    10/15

    2.3. Python

    Referencia [4]Python es un lenguaje de programacin interpretado de alto nivel, el cual cuentacon paquetes para clculo cientfico que permiten darle mltiples usos. El proyectoPython es de cdigo abierto y es mantenido por una fundacin del mismo nombre,adems cuenta con una amplia comunidad de desarrolladores que permiten que estemejore da a da.

    Para aprovechar las ventajas de Python se opta por utilizar un programa libre basadoen el lenguaje para modelar Sistemas de ecuaciones diferenciales ordinarias, llamadoModel Builder [5].

    2.3.1. Resultado diagrama de estado y simulacin con Python

    NOMENCLATURA :x(t)= Y0, y(t)= Y1,a=P[0] =3,b=P[1] =2,c=P[1] =2 y

    d=1

    Figura 3: Diagrama de estado con Python con Model Builder

    10

  • 7/25/2019 Modelo de Lotka Volterra

    11/15

    Figura 4: Simulacin poblacin predador y presa con respecto al tiempo Model Builder

    2.4. Scilab

    Scilab es un lenguaje de programacin de alto nivel de amplio uso en clculosnumricos.

    2.4.1. Clculo de diagrama de estado y simulacin con Scilab

    Referencia [6]

    11

  • 7/25/2019 Modelo de Lotka Volterra

    12/15

    Algorithm 5(Parte I) Lotka-Volterra, clculo de diagramas de estado y simulacin enScilab

    1 / / C o p y r i g h t I NR IA2 / /3 / / s h a r k s an d s a r d i n s : L ot kaV o l t e r r a ODE 4 / /5 mode(1)6 x d e l(w i n s i d( ) )7 t o o l b a r ( 0 , o f f ) ;8 t i t l e p a g e ( [ " Lot kaV o lt e rr a : " ; . . . " dy1 / d t= 3y1 2

    y1 y2 " ; . . " dy2 / d t=2y 2 + y 1y2" ] ) ;9 h a l t ( ) ; c l f ( ) ;

    10 mode ( 1 )11 o l dl n = l i n e s ( ) ;

    12 l i n e s( 0 )13 d e f f ( " y p r im = f ( t , y ) " , . . [ " y p r im 1 =a ay (1 )cc y ( 1 ) y (2 ) "

    ; . . " yprim2=bb y ( 2 ) + f f y ( 1 ) y ( 2) " ; . . " yprim=[ ypr im1 ; yprim 2 ] " ] )

    14 a a = 3 ; b b = 2; c c = 2 ; f f = 1 ;15 xmi n= 0; xmax= 4; ymi n= 0; ymax= 4;16 f x= xmi n : 0 . 5 : xmax ; f y= ymi n : 0 . 5 : ymax;17 t o o l b a r ( 0 , o f f ) ;18 fchamp ( f , 1 , fx , fy )19 a = g ca ( ) ;20 a . x _ l a b e l . t e x t = " y 1 " , a . x _ l a b e l . f o n t _ s i z e = 3 ;21 a . y _ l a b e l . t e x t = " y 2 " , a . y _ l a b e l . f o n t _ s i z e = 3 ;22 x s t r i n g ( 1 , 4 . 1 5 , [ C l i c k l e f t t o s t a r t a new t r a j e c t o r y ,

    move t h e mouse and c l i c k a g a i n t of i x t h e d e s i r e d t r a j e c t o r y C l i c kr i g h t t o e x i t ] )

    23 t 0 = 0 ;24 t ma x = 1 0 ;25 t = t 0 : 0 . 0 5 : t ma x ;26 o l d x0 = 10xmax; o l dy0 = 10ymax;27 d x = 0 . 1 ; dy = 0 . 1 ;28 r t o l = 0 . 0 001; a t o l = r t o l ;29 f i g = g c f( ) ;30 f i g . p i xm ap= on ;31 show_pixmap () ;

    12

  • 7/25/2019 Modelo de Lotka Volterra

    13/15

    Algorithm 6(Parte II) Lotka-Volterra, clculo de diagramas de estado y simulacin enScilab

    1 w h i l e ( %t)2 [ b , x0 , y0] =x c l i c k( ) ;3 i f o r ( b = = [ 2 5 ] ) the n br ea k e nd;4 i f or ( b==[0 3] ) & xmin

  • 7/25/2019 Modelo de Lotka Volterra

    14/15

    Figura 5: Diagrama de estado con Scilab

    3. Conclusiones

    3.1. Modelo Lotka-Volterra

    El modelo es muy inestable y slo en casos acotados se produce el efecto defluctuaciones cclicas.

    Para condiciones iniciales con poblaciones mayores a 2 individuos, las poblacio-

    nes rpidamente desaparecen.

    3.2. Sobre el uso de herramientas libre en el clculo cientfico

    OBSERVACIN: Las instrucciones para la instalacin todas las herramientas men-cionadas en este artculo, sern publicadas en la pgina del grupo CLUCH de la Uni-versidad de Chile.

    Con las herramientas libres disponibles hoy en da (maxima, octave, python yscilab) permiten realizar sin problemas mltiple labores cientfico, pero en gene-ral no son utilizadas por desconocimiento.

    Sera recomendable implementar estas herramientas para que estn disponiblespara el uso de los estudiantes de ingeniera de la Universidad de Chile.

    Referencias

    [1] Presentacin: Ecologa de poblaciones "Leyes Ecolgicas". Clase CI56C semestreotoo 2008, profesora Matilde Lpez, ayudante Mara F. Hurtado Roa.

    14

  • 7/25/2019 Modelo de Lotka Volterra

    15/15

    [2] Extracto del Dictionary of Zoology 1999 http://www.encyclopedia.com/doc/1O8-LotkaVolterraequations.html

    [3] Modelos Matemticos en Biologa (2006/2007) http://www.scienze.univr.it/fol/main?ent=oi&aa=2006%2F2007&codiceCs=S05&codins=

    12007&discr=&discrCd=&lang=es , Facultad de Ciencias Matemticas, Fsicasy Naturales, Universidad de Verona

    [4] Artculo Elegir un lenguaje nativo para ingenie-ra http://wikicursos.wordpress.com/2007/10/21/elegir-lenguaje-nativo-para-ingenieria/, Bitcora del Proyecto Wi-kiCursos, 2007.

    [5] Model Builder http://model-builder.sourceforge.net/Version: 0.4.1, es-crito por Flavio Codeco Coelho, bajo licencia GPL.

    [6] Ejemplo incluido con el programa scilab, escrito por Institut National de Rechercheen Informatique et en Automatique INRIA.

    [7] Grupo CLUCH de la Universidad de Chile. http://cluch.wordpress.com/

    15