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