Diferencia entre revisiones de «Modelos epidemiológicos»

De MateWiki
Saltar a: navegación, buscar
(4. Estudio de poblaciones concretas por el método Runge-Kutta)
Línea 146: Línea 146:
  
 
==4. Estudio de poblaciones concretas por el método Runge-Kutta==
 
==4. Estudio de poblaciones concretas por el método Runge-Kutta==
 +
 +
{{matlab|codigo=
 +
%%Introducimoslos datos:
 +
a=0.003;
 +
b=0.3;
 +
c=0.2;
 +
t0=0;
 +
tN=30;
 +
s0=700;
 +
i0=1;
 +
h=10^-1;
 +
N=(tN-t0)/h;
 +
 +
%%Iniciamoslos vectores 's' e 'i'
 +
s(1)=s0;
 +
i(1)=i0;
 +
 +
%%Ejecutamos el bucle
 +
for n=1:N
 +
  K1=-a*s(n)*i(n);
 +
    K2=-a*(s(n)+(h/2)*K1)*(i(n)+(h/2)*K1);
 +
  K3=-a*(s(n)+(h/2)*K2)*(i(n)+(h/2)*K2);
 +
  K4=-a*(s(n)+h*K3)*(i(n)+h*K3);
 +
  s(n+1)=s(n)+(h/6)*(K1+2*K2+2*K3+K4);
 +
   
 +
  k1=a*s(n)*i(n)-(b+c)*i(n);
 +
  k2=a*(s(n)+(h/2)*k1)*(i(n)+(h/2)*k1)-(b+c)*(i(n)+(h/2)*k1);
 +
    k3=a*(s(n)+(h/2)*k2)*(i(n)+(h/2)*k2)-(b+c)*(i(n)+(h/2)*k2);
 +
    k4=a*(s(n)+h*k3)*(i(n)+h*k3)-(b+c)*(i(n)+h*k3);
 +
  i(n+1)=i(n)+(h/6)*(k1+2*k2+2*k3+k4);
 +
 
 +
end
 +
 
 +
%%Dibijamoslas dos gráficas
 +
x=t0:h:tN;
 +
plot(x,s,'- g')
 +
hold on
 +
plot(x,i,'-')
 +
}}
 +
a=0.003;
 +
b=0.3;
 +
c=0.2;
 +
t0=0;
 +
tN=30;
 +
s0=700;
 +
i0=1;
 +
h=10^-1;
 +
N=(tN-t0)/h;
 +
 +
%%Iniciamoslos vectores 's' e 'i'
 +
s(1)=s0;
 +
i(1)=i0;
 +
 +
%%Ejecutamos el bucle
 +
for n=1:N
 +
  K1=-a*s(n)*i(n);
 +
    K2=-a*(s(n)+(h/2)*K1)*(i(n)+(h/2)*K1);
 +
  K3=-a*(s(n)+(h/2)*K2)*(i(n)+(h/2)*K2);
 +
  K4=-a*(s(n)+h*K3)*(i(n)+h*K3);
 +
  s(n+1)=s(n)+(h/6)*(K1+2*K2+2*K3+K4);
 +
   
 +
  k1=a*s(n)*i(n)-(b+c)*i(n);
 +
  k2=a*(s(n)+(h/2)*k1)*(i(n)+(h/2)*k1)-(b+c)*(i(n)+(h/2)*k1);
 +
    k3=a*(s(n)+(h/2)*k2)*(i(n)+(h/2)*k2)-(b+c)*(i(n)+(h/2)*k2);
 +
    k4=a*(s(n)+h*k3)*(i(n)+h*k3)-(b+c)*(i(n)+h*k3);
 +
  i(n+1)=i(n)+(h/6)*(k1+2*k2+2*k3+k4);
 +
 
 +
end
 +
 
 +
%%Dibijamoslas dos gráficas
 +
x=t0:h:tN;
 +
plot(x,s,'- g')
 +
hold on
 +
plot(x,i,'-')
 +
}}

Revisión del 16:37 1 mar 2013

1 1. Exposición del sistema:

En el desarrollo de una epidemia se distinguen dos tipos de individuos: los que ya han contraído la enfermedad o infectados I, y los que son susceptibles de contraerla por encontrarse en zona de riesgo S. Supongamos que se dan las siguientes hipótesis:

1. La poblaciónde personas infectadas se altera por el fallecimiento o la cura de las mismas.En ambos casos, la tasa de cambio depende del número de personas infectadas;

2. La tasa de individuos que pasan de ser susceptibles a contraer la enfermedad a estar infectados es proporcional a la interacción entre el número de individuos en ambas clases.

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] dS/dt=-aSI; dI/dt=aSI-bI-cI [/math]

Donde: a, b y c son parámetros.

2 2. Definición de las variables:

1. ’’Interpretar los diferentes parámetros en la ecuación de acuerdo a las hipótesis. ’’

VARIABLE DEFINICIÓN RELACIÓN
a Número de interacciones entre personas infectadas y a su vez descendera el numero de personas susceptibles a contraer la enfermedad Indistintamente número de infectados que mueren y/o se curan
b y c

Si aumenta el número de interacciones aumentarán los contagios y por ello la población susceptible a contraer la enfermedad

a↑↑ I ↑↑

a↑↑ S↓↓

El número de individuos que perecen infectados así como el que supera la enfermedad lógicamente disminuye el número de infectados pero no afecta directamente a los susceptibles

b↑↑ I↓↓ S=cte


c↑↑ I↓↓ S=cte

Nota:aunque S no depende directamente de b ni de c si depende indirectamente pues está ligado a I que si que tiene relación con ellos

3 3. Estudio de poblaciones concretas mediante el método de Euler:

2. Tomar a = 0:003, b = 0:3 y c = 0:2. Usar el método de Euler para resolver el sistema con los datos iniciales (S0; I0) = (700; 1) and (S0; I0) = (5000; 5), y el tiempo t:[0; 30] días. Tomar como paso de discretización temporal h = 10^-1; 10^-2; 10^-3; 10^-4.

3. Elegir otros datos iniciales (S0; I0) e interpretar los resultados.


S0=700 I0=1


%%Establecemos valores de los parametros
a=0.003;
b=0.3;
c=0.2;
t0=0;
tN=30;
h=10^-1;
N=(tN-t0)/h;

%%Damos la primera componente a s
s0=700;
s(1)=s0;
%%Damos la primera componente a i

i0=1;
i(1)=i0;
                      n=1:N
                        s(n+1)=s(n)-h*a*s(n)*i(n);
                        i(n+1)=i(n)+h*(a*s(n)*i(n)-(b+c)*i(n));

for
end
hold on
x=t0:h:tN;
plot(x,s,'x b')


Repitiendo el mismo programa con h=10^-2;10^-3;10^-4 así como para los valores (S0; I0) = (5000; 5) nos da los siguientes valores finales y gráficas:


Las gráficas estan ordenadas en función de sus h de mayor a menor


(s0,i0)=(700,1)

Infectados finales (h=10^-1) =Infectados finales (h=10^-2) =Infectadosfinales (h=10^-3)=Infectados finales (h=10^-4)=0

Conclusión: El número de infectados finales tenderá a 0 por lo que la epidemia acabará por extinguirse

Susceptibles finales (h=10^-1)= 9,75

Susceptibles finales (h=10^-2)= 11,02

Susceptibles finales (h=10^-3)= 11,14

Susceptibles finales (h=10^-4)= 11,16

Conclusión: La cantidad de susceptibles tiende a una cantidad ligeramente superior a 11.



(s0,i0)=(5000,5)

Infectados finales (h=10^-1) =Infectados finales (h=10^-2) =Infectados finales (h=10^-3)= Infectados finales (h=10^-4)=0

Conclusión: Igual que en el caso anterior, el número de infectados finales tenderá a 0 por lo que la epidemia acabará por extinguirse

Susceptibles finales (h=10^-1)= 27,16

Susceptibles finales (h=10^-2)= 28,55

Susceptibles finales (h=10^-3)= 28,68

Susceptibles finales (h=10^-4)= 28,7

Conclusión: La cantidad de susceptibles tiende a 29

¿Por qué la S queda por encima de 0 si el número de infectados si que tiende a 0? Conclusión: Esa pequeña variación de S por encima de cero suponemos que es por el riesgo que existe a lo largo del tiempo de contraer la enfermedad por otros medios que por el contagio directo entre personas. Incluso cuando practicamente a desaparecido la epidemia.

4 4. Estudio de poblaciones concretas por el método Runge-Kutta

%%Introducimoslos datos:
a=0.003;
b=0.3;
c=0.2;
t0=0;
tN=30;
s0=700;
i0=1;
h=10^-1;
N=(tN-t0)/h;
 
%%Iniciamoslos vectores 's' e 'i'
s(1)=s0;
i(1)=i0;
 
%%Ejecutamos el bucle
for n=1:N
   K1=-a*s(n)*i(n);
    K2=-a*(s(n)+(h/2)*K1)*(i(n)+(h/2)*K1);
   K3=-a*(s(n)+(h/2)*K2)*(i(n)+(h/2)*K2);
   K4=-a*(s(n)+h*K3)*(i(n)+h*K3);
   s(n+1)=s(n)+(h/6)*(K1+2*K2+2*K3+K4);
    
   k1=a*s(n)*i(n)-(b+c)*i(n);
   k2=a*(s(n)+(h/2)*k1)*(i(n)+(h/2)*k1)-(b+c)*(i(n)+(h/2)*k1);
    k3=a*(s(n)+(h/2)*k2)*(i(n)+(h/2)*k2)-(b+c)*(i(n)+(h/2)*k2);
    k4=a*(s(n)+h*k3)*(i(n)+h*k3)-(b+c)*(i(n)+h*k3);
   i(n+1)=i(n)+(h/6)*(k1+2*k2+2*k3+k4);
   
end
   
%%Dibijamoslas dos gráficas
x=t0:h:tN;
plot(x,s,'- g')
hold on
plot(x,i,'-')

a=0.003; b=0.3; c=0.2; t0=0; tN=30; s0=700; i0=1; h=10^-1; N=(tN-t0)/h;

%%Iniciamoslos vectores 's' e 'i' s(1)=s0; i(1)=i0;

%%Ejecutamos el bucle for n=1:N

  K1=-a*s(n)*i(n);
   K2=-a*(s(n)+(h/2)*K1)*(i(n)+(h/2)*K1);
  K3=-a*(s(n)+(h/2)*K2)*(i(n)+(h/2)*K2);
  K4=-a*(s(n)+h*K3)*(i(n)+h*K3);
  s(n+1)=s(n)+(h/6)*(K1+2*K2+2*K3+K4);
   
  k1=a*s(n)*i(n)-(b+c)*i(n);
  k2=a*(s(n)+(h/2)*k1)*(i(n)+(h/2)*k1)-(b+c)*(i(n)+(h/2)*k1);
   k3=a*(s(n)+(h/2)*k2)*(i(n)+(h/2)*k2)-(b+c)*(i(n)+(h/2)*k2);
   k4=a*(s(n)+h*k3)*(i(n)+h*k3)-(b+c)*(i(n)+h*k3);
  i(n+1)=i(n)+(h/6)*(k1+2*k2+2*k3+k4);
  

end

%%Dibijamoslas dos gráficas x=t0:h:tN; plot(x,s,'- g') hold on plot(x,i,'-') }}