T4. Modelos Epidemiológicos
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Modelos Epidemiológicos, desarrollo de una epidemia. Grupo 28 |
| Asignatura | Ecuaciones Diferenciales |
| Curso | Curso 2014-15 |
| Autores | Luis Doreste Henríquez 127 Luis López Díaz 239 Enrique Martínez Mur 271 |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Interpretación de los diferentes parámetros
En el desarrollo de la epidemia encontramos dos tipos distintos de población que influyen a la evolución de la misma y que se rigen por las siguientes ecuaciones
- [math]\frac{\mathrm{d} S}{\mathrm{d} T}=-aSI [/math]
- [math]\frac{\mathrm{d} I}{\mathrm{d} T}=aSI-bI-cI [/math]
Identificando primero las variables y luego los parámetros diferenciamos:
- T: tiempo
- S: población que puede ser infectada por la enfermedad. Parámetro en función del tiempo.
- I: población infectada por la enfermedad. Parámetro en función del tiempo.
- a: interacción entre el número de individuos infectados y no infectados.
- b: fallecimientos a causa de la enfermedad.
- c: población que consigue recuperarse de la enfermedad.
Además, en el desarrollo de la epidemia consideraremos que la tasa de cambio depende tanto de los fallecimientos como de la población curada y que la tasa de población susceptible a ser infectada es proporcional a la interacción entre ambas poblaciones.
Si queremos entender las ecuaciones por las que se rige nuestra epidemia:
- [math]\frac{\mathrm{d} S}{\mathrm{d} T}=-aSI [/math]
Representa la exposición a la que se encuentra la población frente a la epidemia, es decir, la variación de la población susceptible a ser infectada, [math]S[/math], a causa de la interacción directa de ésta con la población ya infectada, [math]I[/math], en función del paramtro [math]a[/math] antes descrito. Así observamos que es una función no lineal (producto de las variables [math]S[/math] y [math]I[/math]) y decreciente en el tiempo.
- [math]\frac{\mathrm{d} I}{\mathrm{d} T}=aSI-bI-cI [/math]
En este caso se representa la variación de la población infectada con un primer término similar a la primera ecuación pero de signo contrario lo que significa que este término hace crecer el número de infectados por la epidemia y otro posterior ya únicamente dependiente de la población infectada, [math]I[/math], que esta acompañado por [math]-(b+c)[/math] que representas las muertes y curas a causa de la enfermedad.
2 Método de Euler y Trapecio
Consideramos que los parámetros del problema en el desarrollo de los metodos de Euler y del Trapecio son [math]I0 = 2000[/math], [math]b = 0.3[/math] y [math]c = 0.01[/math] y lo resolveremos en ambos casos para una discretización [math]h = 0.1[/math]
2.1 S=0
2.2 S=100
En este segundo caso necesitamos también el valor del parametro [math]a=0.003[/math].
%Apartado 3
clear all
t0=0; tN=40; %Intervalo t
S0=100;
I0=2000;
%Valores iniciales I y S
h=0.1;
t=t0:h:tN;
a=0.003; %Dato problema
b=0.3;
c=0.01;
N=(tN-t0)/h;
S(1)=S0;
I(1)=I0;
%Resolucion forma matricial
for n=1:N
A=[S0;I(n)]+h*[-a*S0*I(n);a*S0*I(n)-(b+c)*I(n)];
S(n+1)=S0;
I(n+1)=A(2);
end
%Gráfica
hold on
figure(1)
plot(t,S,'r')
plot(t,I,'b')
hold off
3 Euler Completo
En el modelo de Euler completo consideramos ahora los datos iniciales [math]S0=800[/math], [math]I0=20[/math] y [math]S0=10000[/math] y [math]I0=40[/math] para tiempos menores de [math]40[/math] días y discretización temporal [math]h=0.1, h=0.01,h=0.001,h=0.0001[/math].
%Apartado 4
clear all
t0=0; tN=40; %Intervalo t
S0=input('N población susceptible: ');
I0=input('N infectados: ');
%Valores iniciales I y S
h=input('Valor del paso: ');
t=t0:h:tN;
a=0.003;
b=0.3;
c=0.01;
N=(tN-t0)/h;
S(1)=S0;
I(1)=I0;
%Resolucion forma matricial
for n=1:N
A=[S(n);I(n)]+h*[-a*S(n)*I(n);a*S(n)*I(n)-(b+c)*I(n)];
S(n+1)=A(1);
I(n+1)=A(2);
end
%Gráfica
hold on
figure(1)
plot(t,S,'r')
plot(t,I,'b')
hold off
maxi=max(I);
pos=find(I==maxi);
tiempo=t(pos);
t1=sprintf('El número máximo de infectados será %d',maxi);
t2=sprintf(' y se dará transcurridos %d días',tiempo);
t3=[t1 t2];
disp(t3)
4 Runge-Kutta 4º Orden
%Apartado5
clear all
t0=0; tN=30; %Intervalo t
y1=input('N población susceptible: ');
y2=input('N infectados de inicio: ');
y0=[y1;y2]; %Valores iniciales S e I
h=input('Introduce valor del salto de paso: ');
N=(tN-t0)/h;
y=y0;
S(1)=y(1);
I(1)=y(2);
a=0.003; b=0.3; c=0.01; % Valores de los parámetros
%Resolución Runge Kutta
for n=1:N
k1=[-a*y(1)*y(2);a*y(1)*y(2)-(b+c)*y(2)];
k2=[-a*(y(1)+1/2*h*k1(1))*(y(2)+1/2*h*k1(2));a*(y(1)+1/2*h*k1(1))*(y(2)+1/2*h*k1(2)-(b+c)*(y(2)+1/2*h*k1(2)))];
k3=[-a*(y(1)+1/2*h*k2(1))*(y(2)+1/2*h*k2(2));a*(y(1)+1/2*h*k2(1))*(y(2)+1/2*h*k2(2)-(b+c)*(y(2)+1/2*h*k2(2)))];
k4=[-a*(y(1)+h*k3(1))*(y(2)+h*k3(2));a*(y(1)+h*k3(1))*(y(2)+h*k3(2)-(b+c)*(y(2)+h*k3(2)))];
y=y+h/6*(k1+2*k2+2*k3+k4);
S(n+1)=y(1);
I(n+1)=y(2);
end
t=t0:h:tN;
hold on
figure(1)
plot(t,S,'b')
plot(t,I,'r')
hold off
for n=1:N
A=[S(n);I(n)]+h*[-a*S(n)*I(n);a*S(n)*I(n)-(b+c)*I(n)];
S(n+1)=A(1);
I(n+1)=A(2);
end
%Gráfica
figure(2)
hold on
plot(t,S,'b')
plot(t,I,'r')
hold off