Modelo Depredador-Presa de Lokta-Volterra (Grupo 1)

De MateWiki
Saltar a: navegación, buscar

Este modelo evalúa la variación de población entre dos especies, una de depredador(los zorros) y otra de presas(los conejos), evaluando sus interacciones y cómo afectan en el tamaño de la población, siguiendo el modelo de Lokta-Volterra que contiene el problema de valor inicial O de Cauchy:

[math] 
\left\{\begin{matrix}\frac{\mathrm{d} R}{\mathrm{d} t}=aR-cRF\\\frac{\mathrm{d} F}{\mathrm{d} t}=-bF+dRF\\R(t_{0})=R_{0}, F(t_{0})=F_{0}\end{matrix}\right.
[/math]

1 Interpretación de parámetros

Analizamos en primer lugar la variación de conejos, que son las presas que de ahora en adelante nos referiremos a ellas como R, la ecuación que expresa su variación, en la que también intervienen los depredadores simbolizados por F, es la siguiente: [math] \frac{\mathrm{d} R}{\mathrm{d} t}=aR-cRF [/math] Antes de analizar el conjunto completo, analizamos el caso en que haya ausencia de depredadores, en este caso la población de conejos aumentará de manera proporcional al tamaño de la población siguiendo una constante 'a' que refleja la diferencia entre la tasa de natalidad y mortalidad y por tanto al ser positiva sería siempre creciente.

En el caso en el que interviniesen los depredadores, afectaría negativamente al crecimiento de la población de conejos debido a la cantidad de interacciones que se produce entre ambos y se ve reflejada con la constante 'c', que simboliza la proporción entre la cantidad de conejos que son comidos con la cantidad de interacciones con los zorros.


Evaluamos la segunda ecuación representa la variación de zorros: [math] \frac{\mathrm{d} F}{\mathrm{d} t}=-bF+dRF [/math] Sin la existencia de interacciones con los conejos, la población de zorros decrecería linealmente siguiendo la constante 'b', que también representaría la diferencia entre la tasa de natalidad y mortalidad, que en este caso sería negativa al no existir presas de las que alimentarse.

Con la existencia de presas, se produciría una interacción entre ellas y por tanto un crecimiento de la población de zorros según la constante 'd', que representa el grado de éxito en la caza de presas en función de la cantidad de interacciones.

2 Resolución de la ecuación mediante Euler

Tal como nos indica el enunciado, tomamos los siguientes valores para las constantes utilizadas en las ecuaciones: a=0.4,b=0.37,c=0.3 y d=0.05 y como poblaciones iniciales tenemos 3000 conejos y 1000 zorros (expresados en miles de elementos), analizando en un periodo de 100 años. El código introducido en MATLAB es el siguiente:

clear all
t0=0;tN=100;
N=1000; h=(tN-t0)/N;y=[3 1]'
R(1)=y(1);F(1)=y(2);
t=t0:h:tN;
for n=1:N
    z(1)=y(1)+h*(0.4*y(1)-0.3*y(2)*y(1));
    z(2)=y(2)+h*(-0.37*y(2)+0.05*y(2)*y(1));
    R(n+1)=z(1);
    F(n+1)=z(2);
    y=z
end
hold on
figure(1)
plot(t,R,'r')
plot(t,F,'b')
xlabel('Tiempo (años)')
ylabel('Población: zorros(azul) y conejos(rojo)')
figure(2)
plot(R,F)
xlabel('Conejos (R)')
ylabel('Zorros (F)')
hold off

Cuyos valores vienen representados en las siguientes gráficas:

centro

centro

Podemos concluir que es un ecosistema estable porque ambas poblaciones se asemejan en sus gráficas creciendo y decreciendo al mismo tiempo y sin llegar a desaparecer.

3 Variación en la población inicial

Disminuyendo la población inicial de conejos que era 3000 y utilizando el programa anterior por el método de Euler, obtenemos las siguientes gráficas que nos sirven para evaluar los resultados.

Si disminuye de 3000 a 1500: izquierda centro

Si disminuye a 1000: izquierda centro

Si disminuye a 250: izquierda centro ==Resolución de la ecuación mediante Runge-Kutta Como nos pide compararlo con el método de Euler, tomamos los mismos datos que utilizamos al emplear el método Euler, mismas constantes, valor inicial de población y mismo periodo de tiempo. Introducimos el programa de MATLAB:

clear all
t0=0;
tN=100;
N=10000;
h=(tN-t0)/N;
r0=3;
f0=1;
t=t0:h:tN;
r(1)=r0;
f(1)=f0;
for n=1:N
    k11=0.4*r(n)-0.3*f(n)*r(n);
    k12=-0.37*f(n)+0.05*f(n)*r(n);
    k21=0.4*(r(n)+(1/2)*h*k11)-0.3*(f(n)+(1/2)*h*k12)*(r(n)+(1/2)*h*k11);
    k22=-0.37*(f(n)+(1/2)*h*k12)+0.05*(f(n)+(1/2)*h*k12)*(r(n)+(1/2)*h*k11);
    k31=0.4*(r(n)+(1/2)*h*k21)-0.3*(f(n)+(1/2)*h*k22)*(r(n)+(1/2)*h*k21);
    k32=-0.37*(f(n)+(1/2)*h*k22)+0.05*(f(n)+(1/2)*h*k22)*(r(n)+(1/2)*h*k21);
    k41=0.4*(r(n)+h*k31)-0.3*(f(n)+h*k32)*(r(n)+h*k31);
    k42=-0.37*(f(n)+h*k32)+0.05*(f(n)+h*k32)*(r(n)+h*k31);
    r(n+1)=r(n)+(h/6)*(k11+2*k21+2*k31+k41);
    f(n+1)=f(n)+(h/6)*(k12+2*k22+2*k32+k42);
end

hold on
figure(1)
plot(t,r,'r')
plot(t,f,'b')
xlabel('Poblacion: zorros(azul) y conejos(rojo)')
ylabel('Tiempo (años)')
figure(2)
plot(r,f)
xlabel('Conejos(R)')
ylabel('Zorros (F)')
hold off

izquierda centro