Modelo Lokta-Volterra Prey-Predator. Grupo 6

De MateWiki
Revisión del 21:52 3 mar 2013 de Enrique941 (Discusión | contribuciones) (1 INTERPRETACION DEL MODELO)

Saltar a: navegación, buscar

1 1 INTERPRETACION DEL MODELO

El modelo Lokta-Volterra,asumiendo las hipótesis dadas en el ejercicio, expresa: Sin zorros, los conejos se reproducen siguiendo el modelo de Maltus, por lo que su tasa de crecimiento es proporcional a su tamaño.

Maltus: [math] R'(t) = aR(t) [/math]


Sin conejos que comer, la población de zorros disminuye proporcionalmente a su tamaño.

[math] F'(t)=-bF(t) [/math]


La tasa a la cual los conejos son comidos por zorros es proporcional a la tasa de interacción entre zorros y conejos.

[math] R´(t)=-cF(t)R(t) [/math]


La tasa por la cual los zorros nacen es proporcional a la tasa por la cual los conejos son comidos.


[math] F´(t)=dR(t)F(t) [/math]


Por lo tanto, este modelo nos da el ritmo de crecimiento de las poblaciones de los depredadores y las presas (conejos y zorros) dado el número de miembros de cada una. El sistema que resulta es:

1.1 Ecuaciones:

[math] \frac{\mathrm{d} R}{\mathrm{d} t}=aR-cRF [/math]


[math] \frac{\mathrm{d} F}{\mathrm{d} t}=-bF+dRF [/math]


En estas ecuaciones los parámetros tienen los siguientes significados:

  • a: el factor proporcional relacionado con el ritmo de reproducción de los conejos cuando no hay zorros
  • b: es el factor con el que los zorros decrecen a un ritmo proporcional a su tamaño sin conejos que comer.
  • c: es la proporción a la cual las interacciones entre zorros y conejos hacen decrecer a la población de los conejos.
  • d: es el factor proporcional que maneja el ritmo al cual los zorros nacen. Este ritmo es proporcional al ritmo al que los conejos son comidos por los zorros.

2 2 LOKTA-VOLTERRA SEGUN EULER

Para una población de conejos y zorros ( R(t) y F(t)), particularizamos los parámetros arriba indicados (a=0.4, b=0.37, c=0.3, d=0.05) y consideramos que en un tiempo tЄ[0,100] tenemos una población de 3000 conejos y de 1000 zorros.

2.1 Codigo Matlab

Resolvemos el sistema según el siguiente código MATLAB:

% Z es la variable y su primer elemento sera R y el segundo F%
a=0.4,b=0.37,c=0.3,d=0.05;
t=0;
i=1;
z=[3;1];
f1(i)=Z(1),f2(i)=Z(2);
x(i)=t;
h=0.01;
while t<100
  i=i+1;
  D=Z;
  t=t+h;
  F=[a*Z(1)-c*Z(1)*Z(2),d*Z(1)*D(2)-b*Z(2)];
  p=h*F
  X=t;
  Z=D+h*F;
  f1(i)=Z(1),f2(i)=Z(2);
  x(i)=t;
end
figure(1)
hold on
plot(x;f1,'b',x,f2,'r')
figure(2)
hold on
plot(fi,f2,'g')
hold off


2.2 Graficas

Distribución de conejos y zorros en el tiempo. Siendo la línea de arriba (azul) los conejos y la de abajo (rojo) los zorros.

De la gráfica se deduce que el aumento de la población de presas conlleva a un aumento de la población de depredadores, del mismo modo que un aumento de la población de depredadores reduce la de presas a mínimos.Con esta gráfica concluimos que las densidades poblacionales de ambas especies están estrechamente relacionadas.


Distribución de conejos-zorros en el tiempo en 2D. En el eje de abscisas se marcan los conejos y en el eje de ordenadas los zorros.


Esta gráfica representa la interacción de depredadores y presas en el tiempo, reafirmando la relación previamente explicada. Por lo tanto, concluimos que el ecosistema es estable, oscilando alrededor del punto de equilibrio:

[math] R=\frac{c}{d}=\frac{0.3}{0.05}=6 \qquad F=\frac{a}{b}=\frac{0.4}{0.37}=1.081 [/math]


3 3 EXTINCIÓN PARA DISTINTAS POBLACIONES

Evaluando la coexistencia de las especies según una disminución de la población de los conejos de 1500, 1000 y 250. Asumiendo que si la población de zorros es menor de 50 la extinción empezaría a ser algo inevitable. observamos los diferentes casos.

3.1 Codigo Matlab

A continuación tenemos los programas en funcion de P para las diferentes poblaciones de conejos:

sprintf('conejos P')
a=0.4,b=0.37,c=0.3,d=0.05;
t=0;
i=1;
Z=[(P/100);1];
p1(i)=Z(1),p2(i)=Z(2);
x(i)=t;
ext=0;
while t<100
  i=i+1;
  D=Z;
  t=t+h;
  F=[a*Z(1)-c*Z(1)*Z(2);d*Z(1)*D(2)-b*Z(2)];
  P=h*F;
  X=t;
  Z=D+h*F;
  p1(i)=Z(1),p2(i)=Z(2);
  x(i)=t;
  if Z(2)<(50/1000)
  ext=1;
  end
end
if ext>0
  sprintf('extincion zorros')
end
sprintf('maximo y minimo de los conejos')
max(p1)
min(p1)
sprintf('maximo y minimo de los zorros')
max(p2)
min(p2)


3.2 Tablas de Resultados

Programando en MATLAB para estas tres poblaciones 1500, 1000 y 250 se obtienen los siguientes resultados:


POBLACIÓN C. MÁX. CONEJOS MÍN. CONEJOS MÁX. ZORROS MÍN. ZORROS
1500 22 1.3 3.9 0.2
1000 26.7 0.7 4.64 0.16
250 40 0.17 6.9 0.041


De lo que se observa que las proporciones quedan:


PROPORCIONES C/Z MÁXIMOS MÍNIMOS
1500 5.64 6.5
1000 5.7 4.3
250 5.79 4.15


Concluimos, por tanto, que si se disminuye la población de conejos la proporción conejos/zorros se mantiene constante, es decir, si disminuye la población de la presa también lo hará proporcionalmente la del depredador (como se observa en el pico de la gráfica remarcado más arriba).

Reduciendo la población de conejos a 250 obtendríamos un máximo de 43 zorros, inferior a los 50 que marcan el límite de extinción, lo que nos indica que la extinción sería algo inevitable.

4 4 LOKTA-VOLTERRA POR RUNGE-KUTTA

Resolver la ecuación por el método de Runge-Kutta de orden 4. Compara los resultados con los de Euler para los diferentes tiempos de las h fijadas.¿Cuál es la dificultad cuando se usa el método del trapecio?.

4.1 Código Matlab

a=0.4,b=0.37,c=0.3,d=0.05;
t=0;
i=1;
z=[3;1];
f3(i)=Z(1),f4(i)=Z(2);
x(i)=t;
while t<100 
  i=i+1;
  D=Z;
  t=t+h;
  K1=[a*D(1)-c*D(1)*D(2);d*D(1)*D(2)-b*D(2)];
  K2=[a*(D(1)+h/2*K1(1))-c*(D(1)+h/2*K1(1))*(D(2)+h/2*K1(2));d*(D(1)+h/2*K1(1))*(D(2)+h/2*K1(2))-b*(D(2)+h/2*K1(2))];
  K3=[a*(D(1)+h/2*K2(1))-c*(D(1)+h/2*K2(1))*(D(2)+h/2*K2(2));d*(D(1)+h/2*K2(1))*(D(2)+h/2*K2(2))-b*(D(2)+h/2*K2(2))];
  K4=[a*(D(1)+h*K3(1))-c*(D(1)+h*K3(1))*(D(2)+h*K3(2));d*(D(1)+h*K3(1))*(D(2)+h*K3(2))-b*(D(2)+h*K3(2))];
  z=D+h/6*(K1+2.*K2+2.*K3+K4);
  f3(i)=z(1);f4(i)=z(2);
  x(i)=t;
end
figure(3)
hold on
plot(f1,f2,'b',f3,f4,'r')


4.2 Gráfica

Gráfica comparativa Runge-Kutta (rojo) y Euler (azul)

Como Euler es un método de primer orden y Runge-Kutta, con el que trabajamos, de 4º orden, Euler es mas inestable, como se observa en la gráfica.

Para el método trapezoidal se emplea la siguiente fórmula

[math] Z_{n+1}=Z_{n}+{h\over2}f(x_{n},z_{n})+f(x_{n+1},z_{n+1}) [/math]

Surge la dificultad de despejar Zn+1 y convertirlo en explícito, cosa que no siempre es posible.