Diferencia entre revisiones de «Modelo para epidemias (Grupo 6-A)»

De MateWiki
Saltar a: navegación, buscar
Línea 104: Línea 104:
 
hold off
 
hold off
 
}}
 
}}
Al final de la sexta semana el numero de infectados utilizando ambos métodos da el mismo resultado que es de '''213.298'''. Cuando llega a '''400.000''' el número de infectados, nos encontraríamos aproximadamente en la semana '''10''' sea cual sea el método numérico que se utilice.
+
Al final de la sexta semana el numero de infectados utilizando ambos métodos da el mismo resultado que es de '''213.298'''.  
 +
 
 +
Cuando llega a '''400.000''' el número de infectados, nos encontraríamos aproximadamente en la semana '''10''' sea cual sea el método numérico que se utilice.
 +
 
 
Podemos ver que ambos métodos dan prácticamente el mismo gráfico, se puede apreciar un aumento continuo en el número de infectados por lo que no tiende a desaparecer ni tampoco se aprecia un momento de máximo número de infectados ya que no para de crecer.   
 
Podemos ver que ambos métodos dan prácticamente el mismo gráfico, se puede apreciar un aumento continuo en el número de infectados por lo que no tiende a desaparecer ni tampoco se aprecia un momento de máximo número de infectados ya que no para de crecer.   
  

Revisión del 16:02 25 feb 2015

Trabajo realizado por estudiantes
Título Modelo para epidemias. Grupo 6-A
Asignatura Ecuaciones Diferenciales
Curso Curso 2014-15
Autores Álvaro Baeza Cabrero, Daniel Fojo Berlana, Gonzalo Bolea Muguruza, Pablo Carrasco del Olmo, Jorge Juan Fernández Díaz
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 Introducción

En este artículo se va a realizar el estudio del comportamiento temporal de un enfermedad infecciosa. Usaremos las siguientes hipótesis:

  1. La población será un número fijo N en el que todos serán susceptibles a la enfermedad.
  2. Los individuos infectados no se curarán durante el periodo de la enfermedad y serán contagiosos.
  3. La unidad de tiempo será la semana.
  4. Durante cada unidad de tiempo cada persona infectada tiene c contactos.

2 Determinación del número de contactos c

Primero en nuestro estudio vamos a determinar el número de contactos que tiene una persona infectada por unidad de tiempo de la siguiente ecuación diferencial que no proporciona el enunciado del trabajo:

[math] I'(t) = \frac{c}{N}I(t)(N-I(t)) [/math]
Siendo I(t) el número de personas infectadas.

c sería un número de dos decimales comprendido entre [math] 0.01 [/math] y [math] 0.99 [/math]. Supongamos que N sea igual a 500000 y que tiene las siguientes condiciones iniciales: [math] I(0)=200 [/math] y [math] I(1)=500 [/math] Para determinar c vamos a imponer una condición, que [math] |I(1)-500| [/math] tenga el valor más bajo posible, es decir, aquel valor que minimice lo posible el error absoluto. Para hallar ese valor lo resolveremos numéricamente con el siguiente programa escrito en MATLAB:

y0 = 200; % Valor inicial
y = []; 
c = 1/100:0.01:99/100; % Posibles valores de c
N = 500000; % Población total
k = length(c);
C_min = c(1);
Y = N;
for i = 1:k
   Y_final = Y;
   Y = N*y0/(y0+(N-y0).*exp(-c(i))); % Modelo para t=1
   y = [y Y];
   if abs(Y-500) <= abs(Y_final-500)
       C_min = c(i);
       end
  end
min(abs(y-500)) % Error absoluto mínimo que se comete  
C_min
plot(c,abs(y-500))

Ejecutando este programa nos da el valor c que minimiza el error que será igual a [math] 0.92 [/math] También hemos dibujado un gráfico para ver como evolucionaría el error para cada valor de c:

Error absoluto en I(1) para cada c

3 Estudio de la evolución de la enfermedad

Una vez hallado el valor c vamos a estudiar cómo la enfermedad va evolucionando a lo largo de las semanas, para ello utilizaremos el método de Heun y Runge-Kutta.

4 = Método de Heun

Es una aproximación de la solución exacta de una ecuación diferencial en el que se descompone la solución en dos soluciones más simples y se halla una función media de las dos anteriores, se calcula los siguientes elementos:

  1. [math] K_{1}=f(t_{n},y_{n}) [/math]
  2. [math] K_{2}=f(t_{n}+h,y_{n}+K_{1}h) [/math]
  3. [math] y_{n+1}=y_{n}+\frac{h}{2}(K_{1}+K_{2}) [/math]

Siendo h la longitud de paso entre dos valores consecutivos

4.1 Método de Runge-Kutta

Sería similar al método de Heun pero se descompone en cuatro soluciones, se hace del siguiente modo:

  1. [math] K_{1}=f(t_{n},y_{n}) [/math]
  2. [math] K_{2}=f(t_{n}+\frac{h}{2},y_{n}+\frac{h}{2}K_{1}) [/math]
  3. [math] K_{3}=f(t_{n}+\frac{h}{2},y_{n}+\frac{h}{2}K_{2}) [/math]
  4. [math] K_{4}=f(t_{n}+h,y_{n}+K_{3}h) [/math]
  5. [math] y_{n+1}=y_{n}+\frac{h}{6}(K_{1}+2K_{2}+2K_{3}+K_{4}) [/math]

4.2 Gráficos del modelo de epidemias

Para realizar un gráfico del modelo utilizaremos los métodos numéricos explicados anteriormente, además veremos el número de infectados al final de la sexta semana y el tiempo necesario para que el número de infectados llegue a 400000. Lo haremos con el siguiente código MATLAB:

Modelo de epidemias con el método de Heun y Runge-Kutta
t0 = 0;h = 0.01;
r = [];
y = [];
y(1) = 200;
r(1) = 200;
i = 1;
c = 0.92;
N = 500000;

while y < 400000 && r < 400000
% Método Runge-Kutta
k1 = (c*y(i))/N*(N-y(i));
k2 = (c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));
k3 = (c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));
k4 = (c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));
y(i+1) = y(i) + (h/6)*(k1+2*k2+2*k3+k4);

% Método de Heun
K1 = (c*r(i))/N*(N-r(i));
K2 = (c*(r(i)+K1*h))/N*(N-(r(i)+K1*h));
r(i+1) = r(i) + (h/2)*(K1+K2);
i = i + 1;
end
tN1 = h*(length(y)-1);
tN2 = h*(length(r)-1);
t1 = t0:h:tN1;
t2 = t0:h:tN2;
Semana_maxima_infeccion = [t1(end) t2(end)]
Valor_aproximado = [y(8),r(8)]
hold on 
plot(t1,y)
plot(t2,r,'r')
legend('Runge Kutta','Heun','Location','best')
hold off

Al final de la sexta semana el numero de infectados utilizando ambos métodos da el mismo resultado que es de 213.298.

Cuando llega a 400.000 el número de infectados, nos encontraríamos aproximadamente en la semana 10 sea cual sea el método numérico que se utilice.

Podemos ver que ambos métodos dan prácticamente el mismo gráfico, se puede apreciar un aumento continuo en el número de infectados por lo que no tiende a desaparecer ni tampoco se aprecia un momento de máximo número de infectados ya que no para de crecer.