Depredador-Presa ( grupo 12B)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Modelo depredador-presa. Grupo 12-B |
| Asignatura | Ecuaciones Diferenciales |
| Curso | Curso 2013-14 |
| Autores | Daniel Antonio Rodríguez Sarmiento 826, Sarah Boufounas 693, Irene Tomás del Barco 679, Mar González Ormeño 671, María Aguilera Vidal 599 |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
El contenido de este artículo nos muestra la resolución del modelo matemático de A. Lotka y V. Volterra. Es un sistema formado por ecuaciones diferenciales de primer orden no lineales, que modeliza una lucha constante por la supervivencia de dos especies competidoras que viven en un mismo hábitat siendo de esa manera una la depredadora y la otra su presa. Las ecuaciones fueron propuestas de forma independiente por Alfred Lotka en 1925 y Vito Volterra en 1926. El modelo de Volterra-Lotka se conoce también como modelo depredador- presa.
1 Interpretación
Partiendo de las siguientes hipótesis:
- La especie depredadora se alimenta solo de la especie presa, mientras que éstas siempre tienen una cantidad suficiente de alimento a su disposición.
- x1 y x2 son dos especies de presas que conviven en un mismo ecosistema junto con una población x3 de depredadores.
- En el instante inicial del estudio, la especie x1 tiene una población de p0 individuos, x2 de q0, y x3 de d0.
- Las iteraciones entre las presas y el depredador es la misma.
- El sistema de ecuaciones, modeliza las velocidades de crecimiento de las tres poblaciones, teniendo en cuenta únicamente las interacciones entre las tres especies, (no se tienen en cuenta posibles enfermedades o variaciones demográficas repentinas de las distintas especies del ecosistema por causa de desastres naturales).
En un hábitat en el que hay abundante vegetación dejamos evolucionar dos especies una depredadora y otra presa.
Si nos centramos en la primera ecuación del sistema, vemos que la velocidad de crecimiento de la especie x1, a partir de ahora G (gazelle), La tasa de natalidad de éstas, debe seguir la ley malthusiana o exponencial sin la presencia de los depredadores, esto es, la tasa de natalidad de la presa A1 x1, donde A1 es una constante positiva, que define la tasa de crecimiento de la población de gacelas en ausencia de depredadores, x3, a partir de ahora L (lion); al existir leones, se añade un término más a la ecuación, definido por otra constante A2, que define la tasa de mortalidad de la presa y en que afecta la interacción entre las gacelas y los leones (las gacelas son comidas por los leones) a la población de gacelas.
[math]\frac{\mathrm{d} x_1}{\mathrm{d} t}=A_1x_1-A_2x_1x_3\\ [/math]
Además de esto, y cambiando levemente la ecuación clásica de Lotka-Volterra, contamos con otra especie de tipo presa, x2, a partir de ahora Z (zebra), cuya ecuación (variables y constantes) es análoga a la de las gacelas, siendo su depredador natural el león. En estas dos ecuaciones se observa que no hay competencia entre cebras y gacelas, ya que si ésta existiera, deberíamos añadir a ambas ecuaciones un término más con A3 y B3, para modelizar dicha competencia.
[math]\frac{\mathrm{d}x_2}{\mathrm{d} t}=B_1x_2-B_2x_2x_3\\[/math]
Centrándonos en la tercera ecuación, que rige la velocidad de crecimiento de la población de leones, se puede observar que en ausencia de presas, la población de leones decrecería hasta llegar a cero (extinción de la especie), ya que su tasa de crecimiento (C1) está multiplicada por “-1” también siguiendo un modelo malthusiano. El sentido que tiene esto en la naturaleza, en ausencia de presas los leones no podrían comer y la población decrecería, mientras que si existen presas suficientes, la población de leones aumentará. El tiempo negativo no tiene sentido, por tanto, es obvio que t debe ser mayor que cero para nuestras ecuaciones.
[math]\frac{\mathrm{d}x_3}{\mathrm{d} t}=-C_1x_3+C_2x_1x_3+C_3x_2x_3\\[/math]
Combinando estas tres ecuaciones, se obtiene el sistema de Volterra-Lotka para la dinámica de las poblaciones de las dos especies competidoras, que se resolverá como el un problema de valor inicial:
[math] \left\{\begin{matrix}\frac{\mathrm{d} x_1}{\mathrm{d} t}=A_1x_1-A_2x_1x_3\\\frac{\mathrm{d}x_2}{\mathrm{d} t}=B_1x_2-B_2x_2x_3\\\frac{\mathrm{d}x_3}{\mathrm{d} t}=-C_1x_3+C_2x_1x_3+C_3x_2x_3\\ x_1(0)=p_{0},x_2(0)=q_{0},x_3(0)=d_{0}\end{matrix}\right. [/math]
2 Método de Euler modificado
Utilizando el método de Euler modificado con [math]h=0.1[/math], en un intervalo de tiempo tЄ[0,100] y tЄ[0,300], con una población inicial de [math]p_0=2[/math] millones de presas de un tipo, [math]q_0=1,4[/math] millones de presas de otro tipo y [math]d_0=1[/math] millon de depredadores y teniendo en cuenta que los valores que adoptan los parámetros son los siguientes
[math]
\left\{\begin{matrix}\ A_1=0.35, A_2=0.6\\ B_1=0.3, B_2=0.5\\ C_1=0.37, C_2=0.04, C_3=0.035\end{matrix}\right.
[/math]
clear all
clc
hold off
%Definiciones
t0=0; tn=100; % Extremos del intervalo temporal a estudiar
y0=[2;1.4;1]; %Valores iniciales
h=0.1; N=(tn-t0)/h; %Número y amplitud de subintervalos
y=y0; %Asignacion de valores iniciales
G(1)=y(1); %Iniciamos el vector de población G(gacelas)
Z(1)=y(2);%Iniciamos el vector de población Z(cebras)
L(1)=y(3);%Iniciamos el vector de población L(leones)
A=[0.35 0 0;0 0.3 0;0 0 -0.37]; %coeficientes de la parte lineal del sistema
%Algoritmo
for i=1:N
k1=(A*y+y(1)*y(3)*[-0.6;0;0.04]+y(2)*y(3)*[0;-0.5;0.035]);
k2=(A*(y+h*k1)+(y(1)+h*k1(1))*(y(3)+h*k1(3))*[-0.6;0;0.04]+(y(2)+h*k1(2))*(y(3)+h*k1(3))*[0;-0.5;0.035]);
y=y+(h/2)*(k1+k2); %Aplicación del método de Euler modificado
G(i+1)=y(1);
Z(i+1)=y(2);
L(i+1)=y(3);
end
t=t0:h:tn; %Vector de subintervalos de tiempo
%Dibujo de gráficas
figure(1)
hold on
plot(t,G,'g')
plot(t,Z,'b')
plot(t,L,'r')
title('Población de gacelas(verde), cebras(azul) y leones(rojo) en función del tiempo');
xlabel('t(años)');
ylabel('población (millones de individuos)')
hold off
figure(2)
subplot(3,1,1)
plot(G,L,'b')
title('Población de leones en función de la de gacelas');
xlabel('G(milllones de gacelas)');
ylabel('L(millones de leones)');
subplot(3,1,2)
plot(Z,L,'y')
title('Población de leones en función de la de cebras');
xlabel('Z(milllones de cebras)');
ylabel('L(millones de leones)');
subplot(3,1,3)
plot(Z,G,'g')
title('Población de gacelas en función de la de cebras');
xlabel('Z(milllones de cebras)');
ylabel('G(millones de gacelas)');
Utilizando el método de Euler modificado con [math]h=0.1[/math], en un intervalo de tiempo tЄ[0,300]
3 Euler
clear all
clc
hold off
%Definiciones
t0=0; tn=300; % Extremos del intervalo temporal a estudiar
y0=[0.8;2.4;0.2]; %Valores iniciales
h=1; N=(tn-t0)/h; %Número y amplitud de subintervalos
y=y0; %Asignacion de valores iniciales
G(1)=y(1); %Iniciamos el vector de población G(gacelas)
Z(1)=y(2);%Iniciamos el vector de población Z(cebras)
L(1)=y(3);%Iniciamos el vector de población L(leones)
A=[0.35 0 0;0 0.3 0;0 0 -0.37]; %coeficientes de la parte lineal del sistema
%Algoritmo
for i=1:N
y=y+h*(A*y+y(1)*y(3)*[-0.6;0;0.04]+y(2)*y(3)*[0;-0.5;0.035]); %Aplicación del método de Euler
G(i+1)=y(1);
Z(i+1)=y(2);
L(i+1)=y(3);
end
t=t0:h:tn; %Vector de subintervalos de tiempo
%Dibujo de gráficas
figure(1)
hold on
plot(t,G,'g')
plot(t,Z,'b')
plot(t,L,'r')
title('Población de gacelas(verde), cebras(azul) y leones(rojo) en función del tiempo');
xlabel('t(años)');
ylabel('población (millones de individuos)');
hold off
figure(2)
subplot(2,1,1)
plot(G,L,'b')
title('Población de leones en función de la de gacelas');
xlabel('G(milllones de gacelas)');
ylabel('L(millones de leones)');
subplot(2,1,2)
plot(Z,L,'y')
title('Población de leones en función de la de cebras');
xlabel('Z(milllones de cebras)');
ylabel('L(millones de leones)');
4 Runge Kutta
clear all
clc
hold off
%Valores iniciales
t0=0; tN=500; %Extremos del intervalo a estudiar
y0=[3.5;0.2;0.4]; %Valores de población iniciales
h=0.1; N=(tN-t0)/h;%Nº y amplitud de subintervalos
y=y0;
G(1)=y(1);%Valor inicial de G (población de gacelas)
Z(1)=y(1);%Valor inicial de Z (población de cebras)
L(1)=y(2);% Valor inicial de L (población de leones)
A=[0.4 0 0;0 0.2 0;0 0 -0.37]; %Parámetros
%Algoritmo
for n=1:N
k1=(A*y+y(1)*y(3)*[-0.7;0;0.04]+y(2)*y(3)*[0;-0.4;0.03]);
k2=(A*(y+(h/2)*k1)+(y(1)+(h/2)*k1(1))*(y(3)+(h/2)*k1(3))*[-0.7;0;0.04]+(y(2)+(h/2)*k1(2))*(y(3)+(h/2)*k1(3))*[0;-0.4;0.03]);
k3=(A*(y+(h/2)*k2)+(y(1)+(h/2)*k2(1))*(y(3)+(h/2)*k2(3))*[-0.7;0;0.04]+(y(2)+(h/2)*k2(2))*(y(3)+(h/2)*k2(3))*[0;-0.4;0.03]);
k4=(A*(y+h*k3)+(y(1)+h*k3(1))*(y(3)+h*k3(3))*[-0.7;0;0.04]+(y(2)+h*k3(2))*(y(3)+h*k3(3))*[0;-0.4;0.03]);
y=y+h/6*(k1+2*k2+2*k3+k4);
G(n+1)=y(1);
Z(n+1)=y(2);
L(n+1)=y(3);
end
%Dibujo
t=t0:h:tN;
figure(1)
hold on
plot(t,G,'g')
plot(t,Z,'b')
plot(t,L,'r')
title('Población de gacelas(verde), cebras(azul) y leones(rojo) en función del tiempo');
xlabel('t(años)');
ylabel('población (millones de individuos)')
hold off







