Modelos Epidemológicos Grupo 4-C
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Modelos Epidemológicos. Grupo 4-C |
| Asignatura | Ecuaciones Diferenciales |
| Curso | Curso 2014-15 |
| Autores | Angela Béjar Gómez, Eduardo Bonet García, Gonzalo Ubeda, Elisa Pamplona Frey, Alberto Rojas, Fernando Sancha Domínguez |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
En el desarrollo de una epidemia se distingue dos tipos de individuos: Los que ya han contraido de la enfermedad I, y los que son susceptibles de contraerla por encontrarse en zona de riesgo S. Consideramos las variables: t tiempo, S(t) población de individuos susceptibles a contraer la enfermedad, I(t) población de individuos infectados; y el sistema:: [math]\frac{dS}{dt}=-aSI[/math]: [math]\frac{dI}{dt}=aSI-bI-cI[/math] Los parámetros a, b y c como:
- "a":Proporción de la interacción entre personas susceptibles a ser infectados y personas ya infectadas.
- "b":Proporción de personas que superan la enfermedad.
- "c":Proporción de personas que mueren a causa de la enfermedad.
Método de Euler y Trapecio
Consideramos la ecuación: [math]\frac{dI}{dt}=aSI-bI-cI[/math] Con S=0, es decir, [math]\frac{dI}{dt}=-bI-cI[/math]. Conocidos los valores b=0.3y c=0.01, nos queda el problema de valor inicial siguiente: [math]\frac{dI}{dt}=-bI-cI;[/math]: b=0.3; c=0.01; [math]I_{0}=2000[/math] Aplicamos el método de Euler para resolver la ecuación diferencial utilizamos un intervalo de tiempo de 0 a 50 porque a los 41 días el mínimo de infectados se reduce a cero. Según se interpreta en la gráfica(ayudándonos de un bucle while de matlab) se observa que el número de infectados se reduce a la cuarta parte en 4,5 días. El código matlab utilizado es:
t0=0;
tN=50; % consideramos el intervalo de tiempo [0,50] ya que el numero de infectados será cero a los 41 días I0=2000; S=0 h=0.1; N=round((tN-t0)/h); t=t0:h:tN; I=zeros(1,N+1); %euler I(1)=I0; Z=zeros(1,N+1); % Trapecio Z(1)=I0; G=zeros(1,N+1); % Vector para cáculo del tiempo que tarda en reducirse I(i) a la cuarta parte G(1)=I0; a=0.003; b=0.3; c=0.01; for i=1:N
I(i+1)=I(i)+h*(a*S.*I(i)-b.*I(i)-c.*I(i)); %euler Z(i+1)=(Z(i).*(1+h/2*(-b-c)))/(1+h/2*(b+c)); %trapecio
end i=1; tg0=0; tg(1)=tg0; while G(i)>(I0/4)
G(i+1)=G(i)+h*(a*S.*G(i)-b.*G(i)-c.*G(i));%bucle que calcula el tiempo que tarda en reducirse I(i) a la cuarta parte tg(i+1)=tg(i)+h; i=i+1;
end %sacamos tabla de resultados [t',I',Z'] hold on plot(t,I) plot(t,Z,'r') hold off legend('Euler','Trapecio','Location','best'); disp('Tiempo final:') disp(tg(end))