Diferencia entre revisiones de «Modelo predador-presa (Grupo 7)»
(→. Resolución del problema mediante el método de Euler modificado) |
(→. Resolución del problema mediante el método de Euler) |
||
| Línea 172: | Línea 172: | ||
==. Resolución del problema mediante el método de Euler== | ==. Resolución del problema mediante el método de Euler== | ||
| + | |||
| + | Una vez resuelto el problema mediante el método de Euler modificado, se ha planteado su resolución empleando Euler. Para ello, se ha seleccionado un periodo de tiempo de <math>T=[0,300]</math> años y se ha tratado de resolver el problema para dos pasos distintos, por lo que el programa solicita este dato: | ||
| + | |||
| + | {{matlab| codigo= | ||
| + | %Datos del problema | ||
| + | ne= 3; | ||
| + | t0=0; | ||
| + | tn=300; | ||
| + | y0=[3.5;1;0.2]; | ||
| + | ftexto='[0.5*y(1)-0.25*y(1)*y(2)-0.3*y(1)*y(3);-0.4*y(2)+0.07*y(1)*y(2)-0.05*y(2)*y(3);-0.38*y(3)+0.045*y(1)*y(3)-0.05*y(2)*y(3)]'; | ||
| + | f=inline(ftexto,'t','y'); | ||
| + | %Así convierto el texto en una función | ||
| + | %Discretización | ||
| + | h=input('Introduce el tamaño de paso: '); %Que será 1 o 0.1 | ||
| + | N=round((tn-t0)/h); | ||
| + | %Creación del vector t | ||
| + | t=t0:h:tn; | ||
| + | %También podría utilizar t=linspace(t0,tn,N+1) | ||
| + | %Creo el vector y de ceros | ||
| + | y=zeros(ne,N+1); | ||
| + | %Adjudico el primer valor de y | ||
| + | y(:,1)=y0; | ||
| + | %Adjudico valores al vector y | ||
| + | %Aplicación del esquema numérico | ||
| + | for i=1:N; | ||
| + | y(:,i+1)=y(:,i)+h*f(t(i),y(:,i)); | ||
| + | end | ||
| + | %Pongo i=1:N porque así el último valor que me calcularía sería y(N+1) | ||
| + | %Realizo la gráfica conjunta de las tres funciones | ||
| + | hold on | ||
| + | plot(t,y(1,:),'r') | ||
| + | plot(t,y(2,:),'b') | ||
| + | plot(t,y(3,:),'g') | ||
| + | legend('presa','predador 1','predador 2','Location','Best') | ||
| + | xlabel('Tiempo') | ||
| + | ylabel('Millones de individuos') | ||
| + | hold off | ||
| + | figure | ||
| + | plot(y(1,:),y(2,:)) | ||
| + | title('Trayectoria') | ||
| + | xlabel('Número de presas') | ||
| + | ylabel('Número de depredadores de primera especie') | ||
| + | figure | ||
| + | plot(y(1,:),y(3,:)) | ||
| + | title('Trayectoria') | ||
| + | xlabel('Número de presas') | ||
| + | ylabel('Número de depredadores de segunda especie') | ||
| + | figure | ||
| + | plot(y(2,:),y(3,:)) | ||
| + | title('Trayectoria') | ||
| + | xlabel('Número de depredadores de primera especie') | ||
| + | ylabel('Número de depredadores de segunda especie') | ||
| + | |||
| + | %Máximos y mínimos | ||
| + | maximopresa=max(y(1,:)) | ||
| + | maximopredador1=max(y(2,:)) | ||
| + | maximopredador2=max(y(3,:)) | ||
| + | |||
| + | minimopresa=min(y(1,:)) | ||
| + | minimopredador1=min(y(2,:)) | ||
| + | minimopredador2=min(y(3,:)) | ||
| + | |||
| + | posmaxpresa=ceil(find(y==max(y(1,:)))/3); | ||
| + | posmaxpred1=ceil(find(y==max(y(2,:)))/3); | ||
| + | posmaxpred2=ceil(find(y==max(y(3,:)))/3); | ||
| + | posminpresa=ceil(find(y==min(y(1,:)))/3); | ||
| + | posminpred1=ceil(find(y==min(y(2,:)))/3); | ||
| + | posminpred2=ceil(find(y==min(y(3,:)))/3); | ||
| + | |||
| + | tmaxpresa=t(posmaxpresa) | ||
| + | tminpresa=t(posminpresa) | ||
| + | tmaxpred1=t(posmaxpred1) | ||
| + | tminpred1=t(posminpred1) | ||
| + | tmaxpred2=t(posmaxpred2) | ||
| + | tminpred2=t(posminpred2)}} | ||
===. Para un paso de <math>h=1</math>=== | ===. Para un paso de <math>h=1</math>=== | ||
Revisión del 11:39 1 may 2016
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Modelo predador-presa (Grupo 7) |
| Asignatura | Ecuaciones Diferenciales |
| Curso | Curso 2015-16 |
| Autores | Gómez Apiñániz, Adrián
Herranz Rodas, Ignacio Ragolta Villarroya, Ana Reinoso Muñoz, Cristina |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
En esta página se discute un modelo matemático que trata de resolver la dinámica de poblaciones de especies competidoras, teniendo en cuenta el estudio realizado a principios del siglo pasado por Alfred J. Lotka y Vito Volterra, el cual consiste en modelizar la situación depredador-presa con ayuda de un sistema de ecuaciones diferenciales de primer orden no lineales, correspondientes a la variación de ambas poblaciones por unidad de tiempo.
Contenido
- 1 . Interpretación del modelo
- 2 . Resolución del problema mediante el método de Euler modificado
- 3 . Resolución del problema mediante el método de Euler
- 4 . Resolución del problema mediante el método de Runge-Kutta
- 4.1 . Para [math]p_{0}=3,5 millones[/math] de presas, [math]d_{0}=0,001 millones[/math] de predadores de la primera especie, [math]e_{0}=0,0002 millones[/math] de predadores de la segunda especie
- 4.2 . Para [math]p_{0}=3,5 millones[/math] de presas, [math]d_{0}=0,00001 millones[/math] de predadores de la primera especie, [math]e_{0}=0,2 millones[/math] de predadores de la segunda especie
- 5 . Comparación de resultados
1 . Interpretación del modelo
El problema de valor inicial a estudiar, es el adjunto:
[math] \left\{\begin{matrix} \frac{dx_{1}}{dt}=A_{1}x_{1}-A_{2}x_{1}x_{2}-A_{3}x_{1}x_{3}\\ \frac{dx_{2}}{dt}=-B_{1}x_{2}+B_{2}x_{1}x_{2}-Dx_{2}x_{3}\\ \frac{dx_{3}}{dt}=-C_{1}x_{3}+C_{2}x_{1}x_{3}-Dx_{2}x_{3}\\x_{1}(0)=p_{0},x_{2}(0)=d_{0},x_{3}(0)=e_{0}\\t\gt 0 \end{matrix}\right. [/math]
A priori, se puede observar que en esta ocasión el modelo de Lotka-Volterra ha sido modificado, al haber añadido una tercera población que actuará como depredador. Por tanto, el problema a estudiar presenta una única presa frente a dos depredadores.
Además, teniendo en cuenta las ecuaciones adjuntas y la hipótesis de que la cantidad de alimentos para la presa es siempre suficiente, se ha realizado la siguiente interpretación:
[math]x_{1}[/math]: número de presas
[math]x_{2}[/math]: número de depredadores de la primera especie
[math]x_{3}[/math]: número de depredadores de la segunda especie
[math]A_{1}[/math]: constante de la que depende la tasa de natalidad de las presas
[math]A_{2}[/math]: constante de interacción entre las presas y el primer depredador
[math]A_{3}[/math]: constante de interacción entre las presas y el segundo depredador
[math]B_{1}[/math]: constante de la que depende la tasa de mortalidad de los depredadores de la primera especie
[math]B_{2}[/math]: constante de interacción entre el primer depredador y las presas
[math]D[/math]: constante de interacción entre ambos depredadores
[math]C_{1}[/math]: constante de la que depende la tasa de mortalidad de los depredadores de la segunda especie
[math]C_{2}[/math]: constante de interacción entre el segundo depredador y las presas
[math]p_{0}[/math]: número inicial de presas
[math]d_{0}[/math]: número inicial de depredadores de la primera especie
[math]e_{0}[/math]: número inicial de depredadores de la segunda especie
Siendo todas las constantes positivas.
La primera ecuación, representa la variación del número de presas a lo largo del tiempo, la cual depende del número de nacimientos menos el número de muertes. El número de nacimientos se rige por una tasa de natalidad que según la ley malthusiana depende a su vez de un coeficiente [math]A_{1}[/math] y del número de presas existentes. Por otro lado, el número de muertes depende de las interacciones entre cada uno de los depredadores y las presas, modelado con ayuda de los coeficientes [math]A_{2}[/math] y [math]A_{3}[/math].
La segunda ecuación, representa la variación del número de depredadores de la primera especie a lo largo del tiempo. Esta variación a su vez depende de tres factores:
-La tasa de mortalidad: que queda reflejada según la constante [math]B_{1}[/math] y el número de depredadores de la primera especie existentes.
-La interacción con la presa: que queda reflejada según la constante [math]B_{2}[/math] y el número tanto de depredadores de la primera especie como de presas. Se puede ver que a mayor número de presas, mayor crecimiento de la población de los depredadores.
-La interacción con la otra especie depredadora: que varía según la constante [math]D[/math] y el número de depredadores de cada una de las especies. Esto refleja que cuantos más depredadores existan de ambas especies, menor será el crecimiento de cada una de ellas, pero además se puede ver que cuanto mayor sea la diferencia entre el número de individuos de ambas especies predadoras, menor será el número de muertes.
Análogamente, la tercera ecuación obtiene la tasa de crecimiento para la segunda especie depredadora, modificando las constantes [math]B_{1}[/math] por [math]C_{1}[/math] y [math]B_{2}[/math] por [math]C_{2}[/math], pero manteniendo el factor de interacción entre especies.
2 . Resolución del problema mediante el método de Euler modificado
Teniendo en cuenta el modelo planteado, se ha resuelto por el método de Euler modificado para [math]T=[0,100][/math] y [math]T=[0,300][/math] años. Para ambos casos se ha utilizado un único programa que, al iniciarlo, solicita el instante final para el que se quiere obtener la resolución y obtiene cuatro gráficas, siendo la primera la variación del número de individuos de las tres poblaciones respecto al tiempo y siendo las tres restantes la variación de las poblaciones entre sí, dos a dos. El programa es el siguiente:
%Datos del problema
ne=3;
t0=0;
tn=input('Introduce el instante final: '); %Serán 100 o 300 años
y0=[3.5;1;1.2];
ftexto='[0.4*y(1)-0.3*y(1)*y(2)-0.35*y(1)*y(3);-0.3*y(2)+0.05*y(1)*y(2)-0.1*y(2)*y(3);-0.28*y(3)+0.045*y(1)*y(3)-0.1*y(2)*y(3)]';
f=inline(ftexto,'t','y');
%Así se convierte el texto en una función
%Discretización
h=0.1;
N=round((tn-t0)/h);
%Creación del vector t
t=t0:h:tn;
%Creación el vector y de ceros
y=zeros(ne,N+1);
%Se adjudia el primer valor de y
y(:,1)=y0;
%Aplicación del esquema numérico
for i=1:N;
K=f(t(i),y(:,i));
y(:,i+1)=y(:,i)+h*K;
%f(t(i)+0.5*h,y(:,i)+0.5*K*h);
end
%Gráfica conjunta de las tres funciones
hold on
plot(t,y(1,:),'r')
plot(t,y(2,:),'b')
plot(t,y(3,:),'g')
legend('Número de presas','Número de depredadores de la primera especie','Número de depredadores de la segunda especie','Location','Best')
title('Ecosistema')
xlabel('Tiempo')
ylabel('Millones de individuos')
hold off
%Dibujo las gráficas de las trayectorias
figure
plot(y(1,:),y(2,:))
title('Trayectoria')
xlabel('Número de presas')
ylabel('Número de depredadores de primera especie')
figure
plot(y(1,:),y(3,:))
title('Trayectoria')
xlabel('Número de presas')
ylabel('Número de depredadores de segunda especie')
figure
plot(y(2,:),y(3,:))
title('Trayectoria')
xlabel('Número de depredadores de primera especie')
ylabel('Número de depredadores de segunda especie')
2.1 . Para [math]T=[0,100][/math] años
A continuación, se adjuntan las gráficas obtenidas para el modelo con un periodo de [math]T=[0,100][/math] años:
Como se puede comprobar en la gráfica que indica la variación del número de individuos de cada especie respecto al tiempo, el ecosistema comienza con una disminución de la población de las presas, lo que provoca que el número de individuos de las dos especies depredadoras también decrezca. Debido a esta disminución de los depredadores el número de presas aumenta hasta alcanzar su máximo: casi 15 millones de individuos. Las especies depredadoras evolucionan de forma muy parecida durante los primeros 31 años, momento en el que las poblaciones de ambas especies se igualan. A partir de aquí la segunda especie depredadora, se reduce hasta extinguirse a los 90/100 años.
- Análisis trayectoria Presa-Depredador de la Primera especie: En esta gráfica se puede observar que la relación entre la presa y el depredador de primera especie es una interacción cíclica. Inicialmente, cuando disminuyen las presas, disminuye también el número de depredadores. Se puede ver como después el número de depredadores crece de una manera menos pronunciada que el número de presas, y cuando las presas descienden, todavía los depredadores siguen aumentando hasta un punto en el que empieza su decrecimiento. Siempre que se llega al decrecimiento brusco de depredadores empieza un crecimiento intenso de presas.
- Análisis trayectoria Presa-Depredador de la Segunda especie: En la gráfica se comprueba que la interacción entre la presa y el depredador de la segunda especie es también cíclica. Inicialmente el número de presas es mayor que el de depredadores, una disminución del número de presas irá asociada a una disminución del número de depredadores. Sin embargo al haber menos depredadores, el número de presa volverá a crecer y como consecuencia lo hará también el de depredadores.
-Análisis trayectoria Depredador de la Primera especie-Depredador de la Segunda especie: En esta gráfica se comprueba que inicialmente ambas poblaciones se distribuyen de manera similar, siendo algo superior el número de individuos de la segunda especie depredadora. Sin embargo, el número de depredadores de la segunda especie comienza a disminuir hasta que se iguala con los de la primera especie, pero mantiene su decrecimiento, el cual es cada vez más pronunciado.
2.2 . Para [math]T=[0,300][/math] años
A continuación, se adjuntan las gráficas obtenidas para el modelo con un periodo de [math]T=[0,300][/math] años:
Como consecuencia de la desaparición de la segunda especie depredadora, mencionado en el apartado anterior, y como se puede observar en la gráfica adjunta, la primera especie depredadora aumenta hasta alcanzar un intervalo de valores cíclicos que oscilan entre 1.2/1.6 millones de individuos, variación que se repite para un periodo de 20 años. Por otro lado, el número de individuos de las presas oscila entre 5/7.1 millones de individuos también en un periodo de 20 años, de manera que la evolución de ambas especies es simultánea, es decir, el aumento de la presa conlleva un aumento de la especie depredadora mientras que la disminución del número de presas disminuye también el número de depredadores, tal y como describe el modelo Volterra-Lotka.
Es por ello que se puede decir que a partir de los 100 años el ecosistema definido es estable, pues la segunda especie depredadora desaparece y la presa junto con la primera especie depredadora se mantienen constantes dentro de un intervalo.
Comparando las gráficas para [math]T=[0,300][/math] años frente a las de [math]T=[0,100][/math], se puede observar que dos de ellas son muy similares. Ésto es debido a que el número de individuos de la segunda especie depredadora desaparece para un tiempo aproximado de 100 años, que coincide con el instante final del apartado anterior y es por ello que las gráficas que no se modifican son aquellas en las que aparece la población de depredadores de la primera especie.
- Análisis trayectoria Presa-Depredador de la Primera especie: Es la única gráfica en la que se puede apreciar a simple vista una distinción frente a aquella para [math]T=[0,100][/math] años. Se distingue claramente que el ecosistema se mantiene estable, pues la variación de la trayectoria se mantiene constante, repasando el mismo trazado con forma oval una y otra vez desde el periodo de aproximadamente 100 años, donde desaparecían los individos de la segunda especie depredadora, hasta llegar a 300 años.
- Análisis trayectoria Presa-Depredador de la Segunda especie: es una de las gráficas que se mantiene similar a la de [math]T=[0,100][/math] años, puesto que, como ya se ha mencionado con anterioridad, la población de depredadores de la segunda especie se extingue, momento en el que el número de presas es de 7,2 millones.
-Análisis trayectoria Depredador de la Primera especie-Depredador de la Segunda especie: al igual que para la trayectoria anterior, se puede decir que es muy similar a aquella para las mismas poblaciones pero de [math]T=[0,100][/math] años. Cuando la población de depredadores de la segunda especie se extingue, el número de individuos de depredadores de la primera especie es de 1,56 millones de individuos.
3 . Resolución del problema mediante el método de Euler
Una vez resuelto el problema mediante el método de Euler modificado, se ha planteado su resolución empleando Euler. Para ello, se ha seleccionado un periodo de tiempo de [math]T=[0,300][/math] años y se ha tratado de resolver el problema para dos pasos distintos, por lo que el programa solicita este dato:
%Datos del problema
ne= 3;
t0=0;
tn=300;
y0=[3.5;1;0.2];
ftexto='[0.5*y(1)-0.25*y(1)*y(2)-0.3*y(1)*y(3);-0.4*y(2)+0.07*y(1)*y(2)-0.05*y(2)*y(3);-0.38*y(3)+0.045*y(1)*y(3)-0.05*y(2)*y(3)]';
f=inline(ftexto,'t','y');
%Así convierto el texto en una función
%Discretización
h=input('Introduce el tamaño de paso: '); %Que será 1 o 0.1
N=round((tn-t0)/h);
%Creación del vector t
t=t0:h:tn;
%También podría utilizar t=linspace(t0,tn,N+1)
%Creo el vector y de ceros
y=zeros(ne,N+1);
%Adjudico el primer valor de y
y(:,1)=y0;
%Adjudico valores al vector y
%Aplicación del esquema numérico
for i=1:N;
y(:,i+1)=y(:,i)+h*f(t(i),y(:,i));
end
%Pongo i=1:N porque así el último valor que me calcularía sería y(N+1)
%Realizo la gráfica conjunta de las tres funciones
hold on
plot(t,y(1,:),'r')
plot(t,y(2,:),'b')
plot(t,y(3,:),'g')
legend('presa','predador 1','predador 2','Location','Best')
xlabel('Tiempo')
ylabel('Millones de individuos')
hold off
figure
plot(y(1,:),y(2,:))
title('Trayectoria')
xlabel('Número de presas')
ylabel('Número de depredadores de primera especie')
figure
plot(y(1,:),y(3,:))
title('Trayectoria')
xlabel('Número de presas')
ylabel('Número de depredadores de segunda especie')
figure
plot(y(2,:),y(3,:))
title('Trayectoria')
xlabel('Número de depredadores de primera especie')
ylabel('Número de depredadores de segunda especie')
%Máximos y mínimos
maximopresa=max(y(1,:))
maximopredador1=max(y(2,:))
maximopredador2=max(y(3,:))
minimopresa=min(y(1,:))
minimopredador1=min(y(2,:))
minimopredador2=min(y(3,:))
posmaxpresa=ceil(find(y==max(y(1,:)))/3);
posmaxpred1=ceil(find(y==max(y(2,:)))/3);
posmaxpred2=ceil(find(y==max(y(3,:)))/3);
posminpresa=ceil(find(y==min(y(1,:)))/3);
posminpred1=ceil(find(y==min(y(2,:)))/3);
posminpred2=ceil(find(y==min(y(3,:)))/3);
tmaxpresa=t(posmaxpresa)
tminpresa=t(posminpresa)
tmaxpred1=t(posmaxpred1)
tminpred1=t(posminpred1)
tmaxpred2=t(posmaxpred2)
tminpred2=t(posminpred2)