Diferencia entre revisiones de «Modelos Epidemológicos Grupo 4-C»
| Línea 12: | Línea 12: | ||
<math>\frac{dI}{dt}=aSI-bI-cI</math> | <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: | 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>: | + | <math>\frac{dI}{dt}=-bI-cI;</math>: b=0.3; c=0.01; |
<math>I_{0}=2000</math> | <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)) | ||
Revisión del 14:23 25 feb 2015
| 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))