Modelo para epidemias (Grupo 9C, Trabajo 7)
En este trabajo vamos a estudiar el comportamiento de una enfermedad infecciosa (epidemia) en una población de N habitantes, la cual es inextensible espacialmente (no varía el número de habitantes).
1 ª Parte
En la primera parte del trabajo vamos a emplear un modelo sencillo que implica una ecuación diferencial de primer orden. Como datos tenemos el número total de habitantes (N=500.000 habitantes), el número inicial de infectados (I(0)=200 casos), el número de infectados tras la primera semana (I(1)=500 casos).
1.1 Número de contactos 'aproximados'
Para calcular los contactos 'aproximados', hemos empleado el método de Euler. Sabiendo que C tiene valores entre 0.01 y 0.99, hemos creado un bucle que ha pasado por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500| y dibujándolo en comparación con todas las C posibles para ver gráficamente, además de numéricamente, la variación de la condición.
El código empleado para estos cálculos es el siguiente:
clear all
clc
clf
% Apartado 1
y0=200;
h=0.01;
t=0:0.01:1; % Vector en el que se estudia la epidemia
n=length(t); % Número de puntos
c=0.01:0.01:0.99; % Vector de posibles C
m=length(c); % Número de posibles C
Y=zeros(m,n); % Matriz donde guardamos, por filas, las soluciones de los infectados según C
y(1)=y0;
% Método de Euler-------------------------------------------------------------------------------------------------
for k=1:m
Y(k,1)=y0;
for i=1:n-1
y(i+1)=y(i)+h*(c(k)/500000*(500000-y(i))*y(i));
Y(k,i+1)=y(i+1);
end
end
I=abs(Y(:,n)-500*(ones(1,m)')); % Condición deY la gráfica obtenida de la comparación de la condición en función de cada valor posible de C es: