<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pablo.molinero.brito</id>
		<title>MateWiki - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pablo.molinero.brito"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Pablo.molinero.brito"/>
		<updated>2026-04-23T09:12:23Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35811</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35811"/>
				<updated>2016-05-11T19:17:47Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
Ahora, podríamos pensar en poblaciones tales que si el número de individuos N es elevado entonces la tasa es decreciente, y que si la población en un determinado momento M es demasiado pequeña esta tasa también decrece (por ejemplo, por la dificultad de individuos a los que contagiar los infectados).&lt;br /&gt;
Para ello debemos modificar la ecuación logística por:&lt;br /&gt;
\[ I'=c \cdot I \cdot \left(1-\displaystyle\frac{I}{N} \right) \cdot \left(\displaystyle\frac{I}{M} -1 \right) \]&lt;br /&gt;
Ahora, utilizando el método de Heun, con longitud de paso H=0.01 y humbral M=10000, vamos a determinar las g´raficas de evolución de infectados, para los casos I(0)=9700,10200 y 30000.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
N= 500000; % población total&lt;br /&gt;
M= 10000; % umbral de población &lt;br /&gt;
c=0.92; % coef de contagio&lt;br /&gt;
ti=0; tf=10; % hacemos la g´rafica par aun período de 10 semanas&lt;br /&gt;
h=0.01;&lt;br /&gt;
t= ti:h:tf;&lt;br /&gt;
k=(tf-ti)/h;&lt;br /&gt;
I1=zeros(1,k+1);&lt;br /&gt;
I10=9700; &lt;br /&gt;
I1(1)=I10;&lt;br /&gt;
&lt;br /&gt;
for i=1:k&lt;br /&gt;
    K1 = (c*I1(i))/N*(N-I1(i))*((I1(i)/M)-1);&lt;br /&gt;
    K2 = (c*(I1(i)+K1*h))/N*(N-(I1(i)+K1*h))*(((I1(i)+K1*h)/M)-1);&lt;br /&gt;
    I1(i+1) = I1(i) + (h/2)*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
I2=zeros(1,k+1);&lt;br /&gt;
I20=10200; &lt;br /&gt;
I2(1)=I20;&lt;br /&gt;
 &lt;br /&gt;
for j=1:k&lt;br /&gt;
     L1 = (c*I2(j))/N*(N-I2(j))*((I2(j)/M)-1);&lt;br /&gt;
     L2 = (c*(I2(j)+L1*h))/N*(N-(I2(j)+L1*h))*(((I2(j)+L1*h)/M)-1);&lt;br /&gt;
     I2(j+1) = I2(j) + (h/2)*(L1+L2);&lt;br /&gt;
end&lt;br /&gt;
I3=zeros(1,k+1);&lt;br /&gt;
I30=30000;&lt;br /&gt;
I3(1)=I30;&lt;br /&gt;
&lt;br /&gt;
for l=1:k&lt;br /&gt;
    P1 = (c*I3(l))/N*(N-I3(l))*((I3(l)/M)-1);&lt;br /&gt;
    P2 = (c*(I3(l)+K1*h))/N*(N-(I3(l)+P1*h))*(((I3(l)+P1*h)/M)-1);&lt;br /&gt;
    I3(l+1) = I3(l) + (h/2)*(P1+P2);&lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,I1)&lt;br /&gt;
plot(t,I2,'y')&lt;br /&gt;
plot(t,I3,'m')&lt;br /&gt;
legend('Io=9700','Io=10200','Io=30000','location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ultimaimagen.jpg|400px|thumb|right|Grafica de la evolucion de los infectados para los diferentes I(0)]]&lt;br /&gt;
[[Archivo:EvoluciondifI0.jpg|400px|thumb|left|Estudio del nuevo modelo para distintas condiciones inciales por separado.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los infectados solo tienden a desaparecer en el único caso en el que I(0)&amp;lt;M, es decir en el que I(0)=9700. En este caso el máximo está al principio. En los otros dos casos, el número de infectados crece con el tiempo, en el caso de I(0)=10200 el máximo se alcanza en la semana 4 y en el caso de I(0)=30000 se alcanza en la semana  1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; obtenemos la siguiente ecuación:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0 &amp;lt;/math&amp;gt;) y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35810</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35810"/>
				<updated>2016-05-11T19:17:00Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
Ahora, podríamos pensar en poblaciones tales que si el número de individuos N es elevado entonces la tasa es decreciente, y que si la población en un determinado momento M es demasiado pequeña esta tasa también decrece (por ejemplo, por la dificultad de individuos a los que contagiar los infectados).&lt;br /&gt;
Para ello debemos modificar la ecuación logística por:&lt;br /&gt;
\[ I'=c \cdot I \cdot \left(1-\displaystyle\frac{I}{N} \right) \cdot \left(\displaystyle\frac{I}{M} -1 \right) \]&lt;br /&gt;
Ahora, utilizando el método de Heun, con longitud de paso H=0.01 y humbral M=10000, vamos a determinar las g´raficas de evolución de infectados, para los casos I(0)=9700,10200 y 30000.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
N= 500000; % población total&lt;br /&gt;
M= 10000; % umbral de población &lt;br /&gt;
c=0.92; % coef de contagio&lt;br /&gt;
ti=0; tf=10; % hacemos la g´rafica par aun período de 10 semanas&lt;br /&gt;
h=0.01;&lt;br /&gt;
t= ti:h:tf;&lt;br /&gt;
k=(tf-ti)/h;&lt;br /&gt;
I1=zeros(1,k+1);&lt;br /&gt;
I10=9700; &lt;br /&gt;
I1(1)=I10;&lt;br /&gt;
&lt;br /&gt;
for i=1:k&lt;br /&gt;
    K1 = (c*I1(i))/N*(N-I1(i))*((I1(i)/M)-1);&lt;br /&gt;
    K2 = (c*(I1(i)+K1*h))/N*(N-(I1(i)+K1*h))*(((I1(i)+K1*h)/M)-1);&lt;br /&gt;
    I1(i+1) = I1(i) + (h/2)*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
I2=zeros(1,k+1);&lt;br /&gt;
I20=10200; &lt;br /&gt;
I2(1)=I20;&lt;br /&gt;
 &lt;br /&gt;
for j=1:k&lt;br /&gt;
     L1 = (c*I2(j))/N*(N-I2(j))*((I2(j)/M)-1);&lt;br /&gt;
     L2 = (c*(I2(j)+L1*h))/N*(N-(I2(j)+L1*h))*(((I2(j)+L1*h)/M)-1);&lt;br /&gt;
     I2(j+1) = I2(j) + (h/2)*(L1+L2);&lt;br /&gt;
end&lt;br /&gt;
I3=zeros(1,k+1);&lt;br /&gt;
I30=30000;&lt;br /&gt;
I3(1)=I30;&lt;br /&gt;
&lt;br /&gt;
for l=1:k&lt;br /&gt;
    P1 = (c*I3(l))/N*(N-I3(l))*((I3(l)/M)-1);&lt;br /&gt;
    P2 = (c*(I3(l)+K1*h))/N*(N-(I3(l)+P1*h))*(((I3(l)+P1*h)/M)-1);&lt;br /&gt;
    I3(l+1) = I3(l) + (h/2)*(P1+P2);&lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,I1)&lt;br /&gt;
plot(t,I2,'y')&lt;br /&gt;
plot(t,I3,'m')&lt;br /&gt;
legend('Io=9700','Io=10200','Io=30000','location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ultimaimagen.jpg|400px|thumb|right|Grafica de la evolucion de los infectados para los diferentes I(0)]]&lt;br /&gt;
[[Archivo:EvoluciondifI0.jpg|750px|thumb|left|Estudio del nuevo modelo para distintas condiciones inciales por separado.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los infectados solo tienden a desaparecer en el único caso en el que I(0)&amp;lt;M, es decir en el que I(0)=9700. En este caso el máximo está al principio. En los otros dos casos, el número de infectados crece con el tiempo, en el caso de I(0)=10200 el máximo se alcanza en la semana 4 y en el caso de I(0)=30000 se alcanza en la semana  1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; obtenemos la siguiente ecuación:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0 &amp;lt;/math&amp;gt;) y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35809</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35809"/>
				<updated>2016-05-11T19:16:17Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
Ahora, podríamos pensar en poblaciones tales que si el número de individuos N es elevado entonces la tasa es decreciente, y que si la población en un determinado momento M es demasiado pequeña esta tasa también decrece (por ejemplo, por la dificultad de individuos a los que contagiar los infectados).&lt;br /&gt;
Para ello debemos modificar la ecuación logística por:&lt;br /&gt;
\[ I'=c \cdot I \cdot \left(1-\displaystyle\frac{I}{N} \right) \cdot \left(\displaystyle\frac{I}{M} -1 \right) \]&lt;br /&gt;
Ahora, utilizando el método de Heun, con longitud de paso H=0.01 y humbral M=10000, vamos a determinar las g´raficas de evolución de infectados, para los casos I(0)=9700,10200 y 30000.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
N= 500000; % población total&lt;br /&gt;
M= 10000; % umbral de población &lt;br /&gt;
c=0.92; % coef de contagio&lt;br /&gt;
ti=0; tf=10; % hacemos la g´rafica par aun período de 10 semanas&lt;br /&gt;
h=0.01;&lt;br /&gt;
t= ti:h:tf;&lt;br /&gt;
k=(tf-ti)/h;&lt;br /&gt;
I1=zeros(1,k+1);&lt;br /&gt;
I10=9700; &lt;br /&gt;
I1(1)=I10;&lt;br /&gt;
&lt;br /&gt;
for i=1:k&lt;br /&gt;
    K1 = (c*I1(i))/N*(N-I1(i))*((I1(i)/M)-1);&lt;br /&gt;
    K2 = (c*(I1(i)+K1*h))/N*(N-(I1(i)+K1*h))*(((I1(i)+K1*h)/M)-1);&lt;br /&gt;
    I1(i+1) = I1(i) + (h/2)*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
I2=zeros(1,k+1);&lt;br /&gt;
I20=10200; &lt;br /&gt;
I2(1)=I20;&lt;br /&gt;
 &lt;br /&gt;
for j=1:k&lt;br /&gt;
     L1 = (c*I2(j))/N*(N-I2(j))*((I2(j)/M)-1);&lt;br /&gt;
     L2 = (c*(I2(j)+L1*h))/N*(N-(I2(j)+L1*h))*(((I2(j)+L1*h)/M)-1);&lt;br /&gt;
     I2(j+1) = I2(j) + (h/2)*(L1+L2);&lt;br /&gt;
end&lt;br /&gt;
I3=zeros(1,k+1);&lt;br /&gt;
I30=30000;&lt;br /&gt;
I3(1)=I30;&lt;br /&gt;
&lt;br /&gt;
for l=1:k&lt;br /&gt;
    P1 = (c*I3(l))/N*(N-I3(l))*((I3(l)/M)-1);&lt;br /&gt;
    P2 = (c*(I3(l)+K1*h))/N*(N-(I3(l)+P1*h))*(((I3(l)+P1*h)/M)-1);&lt;br /&gt;
    I3(l+1) = I3(l) + (h/2)*(P1+P2);&lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,I1)&lt;br /&gt;
plot(t,I2,'y')&lt;br /&gt;
plot(t,I3,'m')&lt;br /&gt;
legend('Io=9700','Io=10200','Io=30000','location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Ultimaimagen.jpg|400px|thumb|right|Grafica de la evolucion de los infectados para los diferentes I(0)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los infectados solo tienden a desaparecer en el único caso en el que I(0)&amp;lt;M, es decir en el que I(0)=9700. En este caso el máximo está al principio. En los otros dos casos, el número de infectados crece con el tiempo, en el caso de I(0)=10200 el máximo se alcanza en la semana 4 y en el caso de I(0)=30000 se alcanza en la semana  1&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EvoluciondifI0.jpg|750px|thumb|left|Estudio del nuevo modelo para distintas condiciones inciales por separado.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; obtenemos la siguiente ecuación:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0 &amp;lt;/math&amp;gt;) y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EvoluciondifI0.jpg&amp;diff=35808</id>
		<title>Archivo:EvoluciondifI0.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EvoluciondifI0.jpg&amp;diff=35808"/>
				<updated>2016-05-11T19:14:28Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35807</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35807"/>
				<updated>2016-05-11T19:12:42Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
Ahora, podríamos pensar en poblaciones tales que si el número de individuos N es elevado entonces la tasa es decreciente, y que si la población en un determinado momento M es demasiado pequeña esta tasa también decrece (por ejemplo, por la dificultad de individuos a los que contagiar los infectados).&lt;br /&gt;
Para ello debemos modificar la ecuación logística por:&lt;br /&gt;
\[ I'=c \cdot I \cdot \left(1-\displaystyle\frac{I}{N} \right) \cdot \left(\displaystyle\frac{I}{M} -1 \right) \]&lt;br /&gt;
Ahora, utilizando el método de Heun, con longitud de paso H=0.01 y humbral M=10000, vamos a determinar las g´raficas de evolución de infectados, para los casos I(0)=9700,10200 y 30000.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
N= 500000; % población total&lt;br /&gt;
M= 10000; % umbral de población &lt;br /&gt;
c=0.92; % coef de contagio&lt;br /&gt;
ti=0; tf=10; % hacemos la g´rafica par aun período de 10 semanas&lt;br /&gt;
h=0.01;&lt;br /&gt;
t= ti:h:tf;&lt;br /&gt;
k=(tf-ti)/h;&lt;br /&gt;
I1=zeros(1,k+1);&lt;br /&gt;
I10=9700; &lt;br /&gt;
I1(1)=I10;&lt;br /&gt;
&lt;br /&gt;
for i=1:k&lt;br /&gt;
    K1 = (c*I1(i))/N*(N-I1(i))*((I1(i)/M)-1);&lt;br /&gt;
    K2 = (c*(I1(i)+K1*h))/N*(N-(I1(i)+K1*h))*(((I1(i)+K1*h)/M)-1);&lt;br /&gt;
    I1(i+1) = I1(i) + (h/2)*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
I2=zeros(1,k+1);&lt;br /&gt;
I20=10200; &lt;br /&gt;
I2(1)=I20;&lt;br /&gt;
 &lt;br /&gt;
for j=1:k&lt;br /&gt;
     L1 = (c*I2(j))/N*(N-I2(j))*((I2(j)/M)-1);&lt;br /&gt;
     L2 = (c*(I2(j)+L1*h))/N*(N-(I2(j)+L1*h))*(((I2(j)+L1*h)/M)-1);&lt;br /&gt;
     I2(j+1) = I2(j) + (h/2)*(L1+L2);&lt;br /&gt;
end&lt;br /&gt;
I3=zeros(1,k+1);&lt;br /&gt;
I30=30000;&lt;br /&gt;
I3(1)=I30;&lt;br /&gt;
&lt;br /&gt;
for l=1:k&lt;br /&gt;
    P1 = (c*I3(l))/N*(N-I3(l))*((I3(l)/M)-1);&lt;br /&gt;
    P2 = (c*(I3(l)+K1*h))/N*(N-(I3(l)+P1*h))*(((I3(l)+P1*h)/M)-1);&lt;br /&gt;
    I3(l+1) = I3(l) + (h/2)*(P1+P2);&lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,I1)&lt;br /&gt;
plot(t,I2,'y')&lt;br /&gt;
plot(t,I3,'m')&lt;br /&gt;
legend('Io=9700','Io=10200','Io=30000','location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Ultimaimagen.jpg|400px|thumb|right|Grafica de la evolucion de los infectados para los diferentes I(0)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los infectados solo tienden a desaparecer en el único caso en el que I(0)&amp;lt;M, es decir en el que I(0)=9700. En este caso el máximo está al principio. En los otros dos casos, el número de infectados crece con el tiempo, en el caso de I(0)=10200 el máximo se alcanza en la semana 4 y en el caso de I(0)=30000 se alcanza en la semana  1&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EvoluciondifI0.jpg|750px|thumb|right|Estudio del nuevo modelo para distintas condiciones inciales por separado.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; obtenemos la siguiente ecuación:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0 &amp;lt;/math&amp;gt;) y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35806</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35806"/>
				<updated>2016-05-11T17:08:10Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
Ahora, podríamos pensar en poblaciones tales que si el número de individuos N es elevado entonces la tasa es decreciente, y que si la población en un determinado momento M es demasiado pequeña esta tasa también decrece (por ejemplo, por la dificultad de individuos a los que contagiar los infectados).&lt;br /&gt;
Para ello debemos modificar la ecuación logística por:&lt;br /&gt;
\[ I'=c \cdot I \cdot \left(1-\displaystyle\frac{I}{N} \right) \cdot \left(\displaystyle\frac{I}{M} -1 \right) \]&lt;br /&gt;
Ahora, utilizando el método de Heun, con longitud de paso H=0.01 y humbral M=10000, vamos a determinar las g´raficas de evolución de infectados, para los casos I(0)=9700,10200 y 30000.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
N= 500000; % población total&lt;br /&gt;
M= 10000; % umbral de población &lt;br /&gt;
c=0.92; % coef de contagio&lt;br /&gt;
ti=0; tf=10; % hacemos la g´rafica par aun período de 10 semanas&lt;br /&gt;
h=0.01;&lt;br /&gt;
t= ti:h:tf;&lt;br /&gt;
k=(tf-ti)/h;&lt;br /&gt;
I1=zeros(1,k+1);&lt;br /&gt;
I10=9700; &lt;br /&gt;
I1(1)=I10;&lt;br /&gt;
&lt;br /&gt;
for i=1:k&lt;br /&gt;
    K1 = (c*I1(i))/N*(N-I1(i))*((I1(i)/M)-1);&lt;br /&gt;
    K2 = (c*(I1(i)+K1*h))/N*(N-(I1(i)+K1*h))*(((I1(i)+K1*h)/M)-1);&lt;br /&gt;
    I1(i+1) = I1(i) + (h/2)*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
I2=zeros(1,k+1);&lt;br /&gt;
I20=10200; &lt;br /&gt;
I2(1)=I20;&lt;br /&gt;
 &lt;br /&gt;
for j=1:k&lt;br /&gt;
     L1 = (c*I2(j))/N*(N-I2(j))*((I2(j)/M)-1);&lt;br /&gt;
     L2 = (c*(I2(j)+L1*h))/N*(N-(I2(j)+L1*h))*(((I2(j)+L1*h)/M)-1);&lt;br /&gt;
     I2(j+1) = I2(j) + (h/2)*(L1+L2);&lt;br /&gt;
end&lt;br /&gt;
I3=zeros(1,k+1);&lt;br /&gt;
I30=30000;&lt;br /&gt;
I3(1)=I30;&lt;br /&gt;
&lt;br /&gt;
for l=1:k&lt;br /&gt;
    P1 = (c*I3(l))/N*(N-I3(l))*((I3(l)/M)-1);&lt;br /&gt;
    P2 = (c*(I3(l)+K1*h))/N*(N-(I3(l)+P1*h))*(((I3(l)+P1*h)/M)-1);&lt;br /&gt;
    I3(l+1) = I3(l) + (h/2)*(P1+P2);&lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,I1)&lt;br /&gt;
plot(t,I2,'y')&lt;br /&gt;
plot(t,I3,'m')&lt;br /&gt;
legend('Io=9700','Io=10200','Io=30000','location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Ultimaimagen.jpg|400px|thumb|right|Grafica de la evolucion de los infectados para los diferentes I(0)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los infectados solo tienden a desaparecer en el único caso en el que I(0)&amp;lt;M, es decir en el que I(0)=9700. En este caso el máximo está al principio. En los otros dos casos, el número de infectados crece con el tiempo, en el caso de I(0)=10200 el máximo se alcanza en la semana 4 y en el caso de I(0)=30000 se alcanza en la semana  1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; obtenemos la siguiente ecuación:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0 &amp;lt;/math&amp;gt;) y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35805</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35805"/>
				<updated>2016-05-11T17:07:34Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
Ahora, podríamos pensar en poblaciones tales que si el número de individuos N es elevado entonces la tasa es decreciente, y que si la población en un determinado momento M es demasiado pequeña esta tasa también decrece (por ejemplo, por la dificultad de individuos a los que contagiar los infectados).&lt;br /&gt;
Para ello debemos modificar la ecuación logística por:&lt;br /&gt;
\[ I'=c \cdot I \cdot \left(1-\displaystyle\frac{I}{N} \right) \cdot \left(\displaystyle\frac{I}{M} -1 \right) \]&lt;br /&gt;
Ahora, utilizando el método de Heun, con longitud de paso H=0.01 y humbral M=10000, vamos a determinar las g´raficas de evolución de infectados, para los casos I(0)=9700,10200 y 30000.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
N= 500000; % población total&lt;br /&gt;
M= 10000; % umbral de población &lt;br /&gt;
c=0.92; % coef de contagio&lt;br /&gt;
ti=0; tf=10; % hacemos la g´rafica par aun período de 10 semanas&lt;br /&gt;
h=0.01;&lt;br /&gt;
t= ti:h:tf;&lt;br /&gt;
k=(tf-ti)/h;&lt;br /&gt;
I1=zeros(1,k+1);&lt;br /&gt;
I10=9700; &lt;br /&gt;
I1(1)=I10;&lt;br /&gt;
&lt;br /&gt;
for i=1:k&lt;br /&gt;
    K1 = (c*I1(i))/N*(N-I1(i))*((I1(i)/M)-1);&lt;br /&gt;
    K2 = (c*(I1(i)+K1*h))/N*(N-(I1(i)+K1*h))*(((I1(i)+K1*h)/M)-1);&lt;br /&gt;
    I1(i+1) = I1(i) + (h/2)*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
I2=zeros(1,k+1);&lt;br /&gt;
I20=10200; &lt;br /&gt;
I2(1)=I20;&lt;br /&gt;
 &lt;br /&gt;
for j=1:k&lt;br /&gt;
     L1 = (c*I2(j))/N*(N-I2(j))*((I2(j)/M)-1);&lt;br /&gt;
     L2 = (c*(I2(j)+L1*h))/N*(N-(I2(j)+L1*h))*(((I2(j)+L1*h)/M)-1);&lt;br /&gt;
     I2(j+1) = I2(j) + (h/2)*(L1+L2);&lt;br /&gt;
end&lt;br /&gt;
I3=zeros(1,k+1);&lt;br /&gt;
I30=30000;&lt;br /&gt;
I3(1)=I30;&lt;br /&gt;
&lt;br /&gt;
for l=1:k&lt;br /&gt;
    P1 = (c*I3(l))/N*(N-I3(l))*((I3(l)/M)-1);&lt;br /&gt;
    P2 = (c*(I3(l)+K1*h))/N*(N-(I3(l)+P1*h))*(((I3(l)+P1*h)/M)-1);&lt;br /&gt;
    I3(l+1) = I3(l) + (h/2)*(P1+P2);&lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,I1)&lt;br /&gt;
plot(t,I2,'y')&lt;br /&gt;
plot(t,I3,'m')&lt;br /&gt;
legend('Io=9700','Io=10200','Io=30000','location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los infectados solo tienden a desaparecer en el único caso en el que I(0)&amp;lt;M, es decir en el que I(0)=9700. En este caso el máximo está al principio. En los otros dos casos, el número de infectados crece con el tiempo, en el caso de I(0)=10200 el máximo se alcanza en la semana 4 y en el caso de I(0)=30000 se alcanza en la semana  1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ultimaimagen.jpg|400px|thumb|right|Grafica de la evolucion de los infectados para los diferentes I(0)]]&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; obtenemos la siguiente ecuación:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0 &amp;lt;/math&amp;gt;) y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35804</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35804"/>
				<updated>2016-05-11T17:06:30Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
Ahora, podríamos pensar en poblaciones tales que si el número de individuos N es elevado entonces la tasa es decreciente, y que si la población en un determinado momento M es demasiado pequeña esta tasa también decrece (por ejemplo, por la dificultad de individuos a los que contagiar los infectados).&lt;br /&gt;
Para ello debemos modificar la ecuación logística por:&lt;br /&gt;
\[ I'=c \cdot I \cdot \left(1-\displaystyle\frac{I}{N} \right) \cdot \left(\displaystyle\frac{I}{M} -1 \right) \]&lt;br /&gt;
Ahora, utilizando el método de Heun, con longitud de paso H=0.01 y humbral M=10000, vamos a determinar las g´raficas de evolución de infectados, para los casos I(0)=9700,10200 y 30000.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
N= 500000; % población total&lt;br /&gt;
M= 10000; % umbral de población &lt;br /&gt;
c=0.92; % coef de contagio&lt;br /&gt;
ti=0; tf=10; % hacemos la g´rafica par aun período de 10 semanas&lt;br /&gt;
h=0.01;&lt;br /&gt;
t= ti:h:tf;&lt;br /&gt;
k=(tf-ti)/h;&lt;br /&gt;
I1=zeros(1,k+1);&lt;br /&gt;
I10=9700; &lt;br /&gt;
I1(1)=I10;&lt;br /&gt;
&lt;br /&gt;
for i=1:k&lt;br /&gt;
    K1 = (c*I1(i))/N*(N-I1(i))*((I1(i)/M)-1);&lt;br /&gt;
    K2 = (c*(I1(i)+K1*h))/N*(N-(I1(i)+K1*h))*(((I1(i)+K1*h)/M)-1);&lt;br /&gt;
    I1(i+1) = I1(i) + (h/2)*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
I2=zeros(1,k+1);&lt;br /&gt;
I20=10200; &lt;br /&gt;
I2(1)=I20;&lt;br /&gt;
 &lt;br /&gt;
for j=1:k&lt;br /&gt;
     L1 = (c*I2(j))/N*(N-I2(j))*((I2(j)/M)-1);&lt;br /&gt;
     L2 = (c*(I2(j)+L1*h))/N*(N-(I2(j)+L1*h))*(((I2(j)+L1*h)/M)-1);&lt;br /&gt;
     I2(j+1) = I2(j) + (h/2)*(L1+L2);&lt;br /&gt;
end&lt;br /&gt;
I3=zeros(1,k+1);&lt;br /&gt;
I30=30000;&lt;br /&gt;
I3(1)=I30;&lt;br /&gt;
&lt;br /&gt;
for l=1:k&lt;br /&gt;
    P1 = (c*I3(l))/N*(N-I3(l))*((I3(l)/M)-1);&lt;br /&gt;
    P2 = (c*(I3(l)+K1*h))/N*(N-(I3(l)+P1*h))*(((I3(l)+P1*h)/M)-1);&lt;br /&gt;
    I3(l+1) = I3(l) + (h/2)*(P1+P2);&lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,I1)&lt;br /&gt;
plot(t,I2,'y')&lt;br /&gt;
plot(t,I3,'m')&lt;br /&gt;
legend('Io=9700','Io=10200','Io=30000','location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los infectados solo tienden a desaparecer en el único caso en el que I(0)&amp;lt;M, es decir en el que I(0)=9700. En este caso el máximo está al principio. En los otros dos casos, el número de infectados crece con el tiempo, en el caso de I(0)=10200 el máximo se alcanza en la semana 4 y en el caso de I(0)=30000 se alcanza en la semana  1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ultimaimagen.png|400px|thumb|right|Grafica de la evolucion de los infectados para los diferentes I(0)]]&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; obtenemos la siguiente ecuación:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0 &amp;lt;/math&amp;gt;) y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Ultimaimagen.jpg&amp;diff=35803</id>
		<title>Archivo:Ultimaimagen.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Ultimaimagen.jpg&amp;diff=35803"/>
				<updated>2016-05-11T17:02:14Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35675</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35675"/>
				<updated>2016-05-03T17:24:24Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Número máximo de infectados */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; obtenemos la siguiente ecuación:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0 &amp;lt;/math&amp;gt;) y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35673</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35673"/>
				<updated>2016-05-03T17:19:10Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt; obtenemos la siguiente ecuación:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35672</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35672"/>
				<updated>2016-05-03T17:17:31Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Número máximo de infectados */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t), es decir, el número máximo de infectados por la epidemia para el Caso 1 y el momento en el que se produce el máximo número de infectados (en qué semana).&lt;br /&gt;
&lt;br /&gt;
Si ahora, en lugar de integrar, derivamos la expresión &lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% Euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% Runge-Kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35671</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35671"/>
				<updated>2016-05-03T17:08:40Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Número máximo de infectados */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
&lt;br /&gt;
Analítico: 107&lt;br /&gt;
Numérico: 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35670</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35670"/>
				<updated>2016-05-03T17:07:37Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Número máximo de infectados */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así, podemos concluir con que los valores máximos numéricos obtenidos son menores que la solución analítica:&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35669</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35669"/>
				<updated>2016-05-03T17:05:20Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Resolución numérica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2,8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35665</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35665"/>
				<updated>2016-05-03T17:02:57Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Resolución numérica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35659</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35659"/>
				<updated>2016-05-03T16:59:54Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Demostración de que  S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35658</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35658"/>
				<updated>2016-05-03T16:59:23Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* 2a Parte: Modelo SIR */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==Segunda Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|400px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35657</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35657"/>
				<updated>2016-05-03T16:56:09Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Demostraciones analíticas con la tasa de remoción relativa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|400px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|400px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
&lt;br /&gt;
Llamamos tasa de remoción relativa a: &amp;lt;math&amp;gt; \rho =\frac{r}{a} &amp;lt;/math&amp;gt;&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, &amp;lt;math&amp;gt; S\left ( 0 \right ) &amp;lt;/math&amp;gt;, no hay epidemia, ya que el número de infectados no aumenta.&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35655</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35655"/>
				<updated>2016-05-03T16:54:22Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que &amp;lt;math&amp;gt; S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0 &amp;lt;/math&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35654</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35654"/>
				<updated>2016-05-03T16:51:23Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Caso 3:  S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como inicialmente tenemos un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. El comportamiento es muy similar al Caso 1, solo que con un ligero desplazamiento a la derecha.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La conclusión fundamental que podemos obtener de este análisis es que la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto, podremos decir que es la mitad de la población la que ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35653</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35653"/>
				<updated>2016-05-03T16:44:57Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Caso 2:  S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
La población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el Caso 1 eran 15 y en el Caso 2, 20000. Las curvas de curados e infectados tienen la misma forma que en el Caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;, ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
&lt;br /&gt;
En el Caso 2 también apreciamos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35650</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35650"/>
				<updated>2016-05-03T16:40:18Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Caso 1:  S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (S + I + R = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre las semanas 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35649</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35649"/>
				<updated>2016-05-03T16:39:26Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Interpretación de la epidemia y justificación de parámetros */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto. Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos.&lt;br /&gt;
&lt;br /&gt;
Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente. A continuación analizaremos caso por caso.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Como hemos indicado al inicio, la epidemia finaliza cuando el número de infectados deja de crecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
&lt;br /&gt;
La población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. Se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente), ya que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia.&lt;br /&gt;
&lt;br /&gt;
En cuanto al número de infectados, su valor en la gráfica no es inferior al inicial hasta la semana 20. De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35648</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35648"/>
				<updated>2016-05-03T16:27:02Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: &amp;lt;math&amp;gt; S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: &amp;lt;math&amp;gt; S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: &amp;lt;math&amp;gt; S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20] &amp;lt;/math&amp;gt;===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35647</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35647"/>
				<updated>2016-05-03T16:23:24Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1000px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1000px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1000px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35646</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35646"/>
				<updated>2016-05-03T16:21:22Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Trayectorias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Para obtener las trayectorias, partimos de la ecuación:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Si integramos dicha ecuación y despejamos, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho log S = k , k\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triángulo de vértices &amp;lt;math&amp;gt; (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo k una constante que cambiará según las condiciones iniciales, hallaremos las trayectorias cuyas condiciones iniciales sean las que hemos estudiado anteriormente. Calcularemos numéricamente las tres condiciones iniciales con paso h=0.001 e I=[0,20], obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo (0,0), (0;N) y (N,0).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|800px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|800px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|800px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
En todas las trayectorias podemos apreciar un máximo, que al ser en función de I(t) sería el punto de mayor infectados, teniendo una forma de parábola aproximadamente en el que aumenta rápidamente el número de infectados y después del máximo, disminuye rápidamente hasta que el número de infectados tiende a cero.&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35557</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35557"/>
				<updated>2016-05-03T12:53:41Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Partiendo de la función:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Integrando dicha función y despejando, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho \cdot log S = K , K\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triangulo de vértices (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haremos entonces una serie de cálculos numéricos para las tres condiciones iniciales con paso h=0.001 e I=[0,20],  obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo que hemos comentado al inicio.&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación podemos comprobar el código numérico para la obtención de las gráficas resultantes utilizando las condiciones del caso 1:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|800px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|800px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|800px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35556</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35556"/>
				<updated>2016-05-03T12:53:08Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Trayectorias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Partiendo de la función:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Integrando dicha función y despejando, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho \cdot log S = K , K\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triangulo de vértices (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haremos entonces una serie de cálculos numéricos para las tres condiciones iniciales con paso h=0.001 e I=[0,20],  obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo que hemos comentado al inicio.&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación podemos comprobar el código numérico para la obtención de las gráficas resultantes utilizando las condiciones del caso 1:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|800px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|800px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|800px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35555</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35555"/>
				<updated>2016-05-03T12:52:08Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Partiendo de la función:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Integrando dicha función y despejando, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho \cdot log S = K , K\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triangulo de vértices (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haremos entonces una serie de cálculos numéricos para las tres condiciones iniciales con paso h=0.001 e I=[0,20],  obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo que hemos comentado al inicio.&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación podemos comprobar el código numérico para la obtención de las gráficas resultantes utilizando las condiciones del caso 1:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|400px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|400px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|400px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35554</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35554"/>
				<updated>2016-05-03T12:51:14Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Partiendo de la función:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Integrando dicha función y despejando, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho \cdot log S = K , K\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triangulo de vértices (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haremos entonces una serie de cálculos numéricos para las tres condiciones iniciales con paso h=0.001 e I=[0,20],  obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo que hemos comentado al inicio.&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación podemos comprobar el código numérico para la obtención de las gráficas resultantes utilizando las condiciones del caso 1:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|800px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|800px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|800px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35553</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35553"/>
				<updated>2016-05-03T12:48:05Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Trayectorias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Partiendo de la función:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Integrando dicha función y despejando, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho \cdot log S = K , K\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triangulo de vértices (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haremos entonces una serie de cálculos numéricos para las tres condiciones iniciales con paso h=0.001 e I=[0,20],  obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo que hemos comentado al inicio.&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación podemos comprobar el código numérico para la obtención de las gráficas resultantes utilizando las condiciones del caso 1:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|1200px|thumb|left|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|1200px|thumb|left|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|1200px|thumb|left|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35552</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35552"/>
				<updated>2016-05-03T12:44:10Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Trayectorias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Partiendo de la función:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Integrando dicha función y despejando, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho \cdot log S = K , K\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triangulo de vértices (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haremos entonces una serie de cálculos numéricos para las tres condiciones iniciales con paso h=0.001 e I=[0,20],  obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo que hemos comentado al inicio.&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación podemos comprobar el código numérico para la obtención de las gráficas resultantes utilizando las condiciones del caso 1:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg|Trayectorias Caso 1]]&lt;br /&gt;
[[Archivo:Trayectorias2.jpg|Trayectorias Caso 2]]&lt;br /&gt;
[[Archivo:Trayectorias3.jpg|Trayectorias Caso 3]]&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Trayectorias3.jpg&amp;diff=35551</id>
		<title>Archivo:Trayectorias3.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Trayectorias3.jpg&amp;diff=35551"/>
				<updated>2016-05-03T12:42:24Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Trayectorias2.jpg&amp;diff=35550</id>
		<title>Archivo:Trayectorias2.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Trayectorias2.jpg&amp;diff=35550"/>
				<updated>2016-05-03T12:42:03Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35549</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35549"/>
				<updated>2016-05-03T12:39:22Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Trayectorias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Partiendo de la función:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Integrando dicha función y despejando, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho \cdot log S = K , K\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triangulo de vértices (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haremos entonces una serie de cálculos numéricos para las tres condiciones iniciales con paso h=0.001 e I=[0,20],  obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo que hemos comentado al inicio.&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación podemos comprobar el código numérico para la obtención de las gráficas resultantes utilizando las condiciones del caso 1:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trayectorias1.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Trayectorias1.jpg&amp;diff=35548</id>
		<title>Archivo:Trayectorias1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Trayectorias1.jpg&amp;diff=35548"/>
				<updated>2016-05-03T12:35:29Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35547</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35547"/>
				<updated>2016-05-03T12:27:02Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Trayectorias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
Partiendo de la función:  &amp;lt;math&amp;gt; \frac {dI}{dS} =-1+\frac {\rho}{S} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Integrando dicha función y despejando, obtenemos las trayectorias: &amp;lt;math&amp;gt; I+S-\rho \cdot log S = K , K\in\mathbb{R} &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
que se encuentran en el triangulo de vértices (S,I) = (0,0), (S,I) = (0,N) y (S,I) = (N,0).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haremos entonces una serie de cálculos numéricos para las tres condiciones iniciales con paso h=0.001 e I=[0,20],  obteniendo tres gráficas para cada condición inicial. Una con la trayectoria de I(t) frente al tiempo en los 3 métodos, otra para S(t) y otra que compare ambas para demostrar que se cumple el triángulo que hemos comentado al inicio.&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación podemos comprobar el código numérico para la obtención de las gráficas resultantes utilizando las condiciones del caso 1:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h=0.001;tf=20; % calcularemos trayectorias para h=0.1 el intervalo [0,20]&lt;br /&gt;
S0=159985; I0=15; &lt;br /&gt;
r=0.0000218; a=0.341; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
n=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Sb=[]; &lt;br /&gt;
Ib=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
k=I0+S0-(a/r)*log(S0); % hallamos la constante k a partir de los valores iniciales escogidos&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:n&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for m=1:n&lt;br /&gt;
 k1S = -r*Sc(m)*Ic(m); &lt;br /&gt;
 k1I = r*Sc(m)*Ic(m)-a*Ic(m);&lt;br /&gt;
&lt;br /&gt;
 k2S = -r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(m) + 1/2*k1S*h)*(Ic(m) + 1/2*k1I*h)-a*(Ic(m) + 1/2*k1I*h);&lt;br /&gt;
 &lt;br /&gt;
 k3S = -r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(m) + 1/2*k2S*h)*(Ic(m) + 1/2*k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
 k4S = r*(Sc(m) + k3S*h)*(Ic(m) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(m) + k3S*h)*(Ic(m) + k2I*h)-a*(Ic(m) + 1/2*k2I*h);&lt;br /&gt;
 &lt;br /&gt;
Sc(m+1) = Sc(m) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(m+1) = Ic(m) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,3,1)&lt;br /&gt;
plot(t,Ia,'g',t,Ib,'b',t,Ic,'m')&lt;br /&gt;
legend('Euler','Euler implícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,2)&lt;br /&gt;
plot(t,Sa,'g',t,Sb,'b',t,Sc,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
subplot(1,3,3)&lt;br /&gt;
plot(Sa,Ia,'g',Sb,Ib,'b',Sc,Ic,'m')&lt;br /&gt;
legend('Euler','Euler impplícito','Runge-kutta','location','best')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35546</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35546"/>
				<updated>2016-05-03T12:23:56Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Número máximo de infectados */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
El objetivo en este apartado es hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el Caso 1.&lt;br /&gt;
&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Podemos observar que el máximo por el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;, por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 \le \rho &amp;lt;/math&amp;gt;, y para ello debemos cambiar el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642, podremos probar con un valor para &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; de 14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35545</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35545"/>
				<updated>2016-05-03T12:05:55Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Número máximo de infectados */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
&lt;br /&gt;
Para terminar vamos a hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el caso \( S_{0} = 159985 \) . Daría de forma numérica 447988 infectados de forma numérica casi 4 semanas después de que la infección comenzara. En cambio de forma analítica vemos que utilizando la siguiente expresión \[ I(máximo) = N - \frac{a}{r} + \frac{a}{r}\log\frac{a}{rS_{0}} = 500000 - \frac{0.341}{0.0000218} + \frac{0.341}{0.0000218}\log\frac{0.341}{0.0000218\cdot159985} = 447987.9965 \]&lt;br /&gt;
&lt;br /&gt;
Vemos que da aproximadamente el mismo resultado ya que de forma analítica lo que hace es sustituir en la expresión \( S = \frac{a}{r} \) debido a que igualando la derivada I'(t) a cero da ese resultado. Y de forma numérica lo que se hace es del vector de valores I(t) con un programa MATLAB buscar el elemento de mayor valor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para el primer caso del apartado 2.3 (S0=159 985, I0=15, r=0.0000218, a=0.341), si calculamos analíticamente el número de infectados máximos, tanto para 4 semanas de estudio como para 20, resulta ser:&lt;br /&gt;
&lt;br /&gt;
I(máx) = N - rho + rho * ln (rho / S0) = S0 - a/r + a/r * ln (a / (S0*r)) = 159 985 - 15 642'2 + 15 642'2 * ln (15 642'2 / 159 985) = 107 988'0008 infectados&lt;br /&gt;
&lt;br /&gt;
Y para calcularlo numéricamente, hemos empleado el programa usado en el apartado 2.3 añadiendo solamente:&lt;br /&gt;
&lt;br /&gt;
1 format long e&lt;br /&gt;
2 Imax=max(I)&lt;br /&gt;
&lt;br /&gt;
Y nos da un valor de Imax para los pasos h = 0.1, 0.01 y 0.001 siguientes:&lt;br /&gt;
&lt;br /&gt;
Imax = 1.08520960052860e+005 = 108 521 infectados para h = 0.1&lt;br /&gt;
&lt;br /&gt;
Imax = 1.08041178514538e+005 = 108 041 infectados para h = 0.01&lt;br /&gt;
&lt;br /&gt;
Imax = 1.07993269666941e+005 = 107 993 infectados para h = 0.001&lt;br /&gt;
&lt;br /&gt;
Como se puede comprobar, cuanto menor es el paso usado menor es el error del método numérico frente al analítico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para finalizar el estudio, nos propondremos un último objetivo, obtener el máximo número de individuos infectados, es decir I(t), tanto de forma analítica, como de forma numérica.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
* Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
* Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
* Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 Comprobamos que el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;,  por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 -\le \rho &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para ello cambiaremos el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642 probaremos con &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; =14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35542</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35542"/>
				<updated>2016-05-03T11:32:07Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Número máximo de infectados */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
Derivando la ecuación diferencial del apartado anterior obtenemos lo siguiente:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;I(máximo) = N - \frac{a}{r} + \frac{a}{r}\log\frac{a}{rS_{0}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para realizar el último apartado hemos creado el siguiente código MATLAB que nos calculará el número máximo de infectados&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
N=500000;&lt;br /&gt;
a=0.341;&lt;br /&gt;
r=0.0000218;&lt;br /&gt;
z=a/r;&lt;br /&gt;
s0=159985;&lt;br /&gt;
I=N-z+z*log(z/s0)&lt;br /&gt;
fprintf('El número máximo de infectados es %f',I)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Dándonos en la ventana de comandos &amp;quot;El número máximo de infectados es 447987.99652&amp;quot; obteniendo el mismo resultado mediante el procedimiento analítico, por lo que la máxima cantidad de infectados es 447988 siendo en la semana 3.8420, hallada utilizando el código de Matlab del Modelo SIR mediante el método de Runge-Kutta con los valores So=159985, Io=15 y un paso h=0,001 y añadiendo el siguiente código hemos hallado la semana en la que se alcanza el número máximo de infectados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
valormaximoinfec=max(I2);&lt;br /&gt;
find(I2==w); % Encontramos la posición en la que se encuentra el número máximo de infectados&lt;br /&gt;
semanamaxinfec=t(3843)%nos da la semana en la que el número de infectados es máximo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para terminar vamos a hallar el valor máximo de I(t) y el momento que sería el máximo número de infectados para el caso \( S_{0} = 159985 \) . Daría de forma numérica 447988 infectados de forma numérica casi 4 semanas después de que la infección comenzara. En cambio de forma analítica vemos que utilizando la siguiente expresión \[ I(máximo) = N - \frac{a}{r} + \frac{a}{r}\log\frac{a}{rS_{0}} = 500000 - \frac{0.341}{0.0000218} + \frac{0.341}{0.0000218}\log\frac{0.341}{0.0000218\cdot159985} = 447987.9965 \]&lt;br /&gt;
&lt;br /&gt;
Vemos que da aproximadamente el mismo resultado ya que de forma analítica lo que hace es sustituir en la expresión \( S = \frac{a}{r} \) debido a que igualando la derivada I'(t) a cero da ese resultado. Y de forma numérica lo que se hace es del vector de valores I(t) con un programa MATLAB buscar el elemento de mayor valor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para el primer caso del apartado 2.3 (S0=159 985, I0=15, r=0.0000218, a=0.341), si calculamos analíticamente el número de infectados máximos, tanto para 4 semanas de estudio como para 20, resulta ser:&lt;br /&gt;
&lt;br /&gt;
I(máx) = N - rho + rho * ln (rho / S0) = S0 - a/r + a/r * ln (a / (S0*r)) = 159 985 - 15 642'2 + 15 642'2 * ln (15 642'2 / 159 985) = 107 988'0008 infectados&lt;br /&gt;
&lt;br /&gt;
Y para calcularlo numéricamente, hemos empleado el programa usado en el apartado 2.3 añadiendo solamente:&lt;br /&gt;
&lt;br /&gt;
1 format long e&lt;br /&gt;
2 Imax=max(I)&lt;br /&gt;
&lt;br /&gt;
Y nos da un valor de Imax para los pasos h = 0.1, 0.01 y 0.001 siguientes:&lt;br /&gt;
&lt;br /&gt;
Imax = 1.08520960052860e+005 = 108 521 infectados para h = 0.1&lt;br /&gt;
&lt;br /&gt;
Imax = 1.08041178514538e+005 = 108 041 infectados para h = 0.01&lt;br /&gt;
&lt;br /&gt;
Imax = 1.07993269666941e+005 = 107 993 infectados para h = 0.001&lt;br /&gt;
&lt;br /&gt;
Como se puede comprobar, cuanto menor es el paso usado menor es el error del método numérico frente al analítico.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para finalizar el estudio, nos propondremos un último objetivo, obtener el máximo número de individuos infectados, es decir I(t), tanto de forma analítica, como de forma numérica.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ecuación analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;math&amp;gt; I(máximo) = N - \rho + \rho \cdot  log\frac{\rho}{S_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para ello creamos el siguiente código numérico que nos proporciona el máximo analítico para el valor de N del primer caso (que es una constante &amp;lt;math&amp;gt; N=S_0+I_0) &amp;lt;/math&amp;gt; y también el máximo obtenido para el mismo caso aproximado con los tres métodos utilizados:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=159985; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0;&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Máximo analítico= 107.990&amp;lt;br /&amp;gt;&lt;br /&gt;
* Máximo Euler=108.020&amp;lt;br /&amp;gt;&lt;br /&gt;
* Máximo Euler implícito=108.340&amp;lt;br /&amp;gt;&lt;br /&gt;
* Máximo Runge-Kutta 4=161.960&amp;lt;br /&amp;gt;&lt;br /&gt;
 Comprobamos que el método de Euler es el que más se aproxima a la solución analítica.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Los resultados obtenidos son válidos para &amp;lt;math&amp;gt; S_0&amp;gt;\rho &amp;lt;/math&amp;gt;,  por lo que debemos comprobar los resultados en el caso de que &amp;lt;math&amp;gt; S_0 -\le \rho &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para ello cambiaremos el valor de &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt;.  Si el valor de &amp;lt;math&amp;gt;\rho &amp;lt;/math&amp;gt; es 15.642 probaremos con &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; =14.000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;h= 0.001;tf=20;&lt;br /&gt;
S0=14000; I0=15; r=0.0000218; a=0.341; R0=0; &lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Sa=[]; &lt;br /&gt;
Ia=[];&lt;br /&gt;
Ra=[];&lt;br /&gt;
Sb=[];&lt;br /&gt;
Ib=[];&lt;br /&gt;
Rb=[];&lt;br /&gt;
Sc=[]; &lt;br /&gt;
Ic=[];&lt;br /&gt;
Rc=[];&lt;br /&gt;
Sa(1)=S0;&lt;br /&gt;
Ia(1)=I0;&lt;br /&gt;
Ra(1)=R0;&lt;br /&gt;
Sb(1)=S0;&lt;br /&gt;
Ib(1)=I0;&lt;br /&gt;
Rb(1)=R0;&lt;br /&gt;
Sc(1)=S0;&lt;br /&gt;
Ic(1)=I0;&lt;br /&gt;
Rc(1)=R0;&lt;br /&gt;
% euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ia(i+1)=Ia(i)+h*(r*Sa(i)*Ia(i)-a*Ia(i));&lt;br /&gt;
    Sa(i+1)=Sa(i)+h*(-r*Sa(i)*Ia(i));&lt;br /&gt;
    Ra(i+1)=Ra(i)+h*(a*Ia(i));&lt;br /&gt;
end&lt;br /&gt;
% Euler implícito (es necesario despejar la I, la S y la R de (j+1) para&lt;br /&gt;
% definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ib(j+1)=Ib(j)/(1-(h*r*Sb(j))+a*h);&lt;br /&gt;
  Sb(j+1)=Sb(j)/(1+r*h*Ib(j));&lt;br /&gt;
  Rb(j+1)=Rb(j)+h*(a*Ib(j));&lt;br /&gt;
end&lt;br /&gt;
% runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sc(n)*Ic(n); &lt;br /&gt;
 k1I = r*Sc(n)*Ic(n)-a*Ic(n);&lt;br /&gt;
 k1R = a*Ic(n);&lt;br /&gt;
 k2S = -r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sc(n) + 1/2*k1S*h)*(Ic(n) + 1/2*k1I*h)-a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ic(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sc(n) + 1/2*k2S*h)*(Ic(n) + 1/2*k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sc(n) + k3S*h)*(Ic(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sc(n) + k3S*h)*(Ic(n) + k2I*h)-a*(Ic(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ic(n) + k3I*h);&lt;br /&gt;
Sc(n+1) = Sc(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ic(n+1) = Ic(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rc(n+1) = Rc(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
N=S0+I0&lt;br /&gt;
ro=a/r&lt;br /&gt;
maxanalitico=N-ro+(ro*log(ro/S0))&lt;br /&gt;
maxeuler=max(Ia)&lt;br /&gt;
maximplicito=max(Ib)&lt;br /&gt;
maxrungekutta=max(Ic)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que los valores máximos numéricos obtenidos son menores que la solución analítica:&amp;lt;br /&amp;gt;&lt;br /&gt;
: Analítico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 107&lt;br /&gt;
: Numérico &amp;lt;math&amp;gt; \longrightarrow &amp;lt;/math&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35541</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35541"/>
				<updated>2016-05-03T11:28:55Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trayectorias==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Número máximo de infectados==&lt;br /&gt;
Derivando la ecuación diferencial del apartado anterior obtenemos lo siguiente:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;I(máximo) = N - \frac{a}{r} + \frac{a}{r}\log\frac{a}{rS_{0}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para realizar el último apartado hemos creado el siguiente código MATLAB que nos calculará el número máximo de infectados&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
N=500000;&lt;br /&gt;
a=0.341;&lt;br /&gt;
r=0.0000218;&lt;br /&gt;
z=a/r;&lt;br /&gt;
s0=159985;&lt;br /&gt;
I=N-z+z*log(z/s0)&lt;br /&gt;
fprintf('El número máximo de infectados es %f',I)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Dándonos en la ventana de comandos &amp;quot;El número máximo de infectados es 447987.99652&amp;quot; obteniendo el mismo resultado mediante el procedimiento analítico, por lo que la máxima cantidad de infectados es 447988 siendo en la semana 3.8420, hallada utilizando el código de Matlab del Modelo SIR mediante el método de Runge-Kutta con los valores So=159985, Io=15 y un paso h=0,001 y añadiendo el siguiente código hemos hallado la semana en la que se alcanza el número máximo de infectados:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
valormaximoinfec=max(I2);&lt;br /&gt;
find(I2==w); % Encontramos la posición en la que se encuentra el número máximo de infectados&lt;br /&gt;
semanamaxinfec=t(3843)%nos da la semana en la que el número de infectados es máximo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35536</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35536"/>
				<updated>2016-05-03T11:21:05Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Interpretación de la epidemia y justificación de parámetros */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35532</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35532"/>
				<updated>2016-05-03T11:07:01Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2: S_0=140000, I_0=20000, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3: S_0=159999, I_0=1, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35530</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35530"/>
				<updated>2016-05-03T11:03:10Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Caso 1: S_0=159985,I_0=15,r=0.0000218,a=0.341,I=[0,4] y [0,20] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985, I_0=15, r=0.0000218, a=0.341, I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35529</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35529"/>
				<updated>2016-05-03T11:02:21Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: /* Caso 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Caso 1: S_0=159985,I_0=15,r=0.0000218,a=0.341,I=[0,4] y [0,20]===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35519</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35519"/>
				<updated>2016-05-03T10:53:08Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Caso 1===&lt;br /&gt;
la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
===Caso 2===&lt;br /&gt;
la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
===Caso 3===&lt;br /&gt;
al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35516</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35516"/>
				<updated>2016-05-03T10:50:39Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los datos del caso 1, la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad. * De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&lt;br /&gt;
En el caso 2, la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total. * A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&lt;br /&gt;
En el caso 3, al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población. * El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35512</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35512"/>
				<updated>2016-05-03T10:39:36Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los datos del caso 1, la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad.&lt;br /&gt;
&lt;br /&gt;
En el caso 2, la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En el caso 3, al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Interpretaremos por tanto los 3 casos propuestos en el apartado anterior:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Caso 1:''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Caso 2:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Caso 3''':&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35509</id>
		<title>Modelo para epidemias. Grupo 6-C</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Modelo_para_epidemias._Grupo_6-C&amp;diff=35509"/>
				<updated>2016-05-03T10:33:11Z</updated>
		
		<summary type="html">&lt;p&gt;Pablo.molinero.brito: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Modelo para epidemias. Grupo 6-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED15/16|Curso 2015-16]] |  &lt;br /&gt;
Manuel Jesús García Vega&amp;lt;br /&amp;gt;&lt;br /&gt;
Alberto Jordá Laguna&amp;lt;br /&amp;gt;&lt;br /&gt;
Pablo Molinero Brito&amp;lt;br /&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción==&lt;br /&gt;
En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.&lt;br /&gt;
&lt;br /&gt;
Suponemos las siguientes hipótesis:&lt;br /&gt;
&lt;br /&gt;
1.	La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad.  &lt;br /&gt;
&lt;br /&gt;
2.	La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio.  &lt;br /&gt;
&lt;br /&gt;
3.	Todos los individuos infectados son contagiosos y circulan libremente entre la población.&lt;br /&gt;
&lt;br /&gt;
4.	Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.&lt;br /&gt;
&lt;br /&gt;
==Cálculo del número de contactos aproximados 'c'==&lt;br /&gt;
Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística:&lt;br /&gt;
[[Archivo:Ecuación_Logística.png]]&lt;br /&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
I(t): Número de personas contagidas al cabo de un tiempo de t semanas.&lt;br /&gt;
&lt;br /&gt;
c: Número de contactos que tiene una persona pasadas t semanas.&lt;br /&gt;
&lt;br /&gt;
N: Población total en el lugar de estudio.&lt;br /&gt;
&lt;br /&gt;
Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos. &lt;br /&gt;
&lt;br /&gt;
Sabiendo que 'c' tiene valores entre 0.01 y 0.99, hemos creado un bucle que  pasa por cada uno de esos valores, guardando en un vector la condición de |I(primera semana) - 500|, se ha representado gráficamente en comparación con todos los valores posibles de 'c' y también hemos obtenido la solución de forma numérica de cómo varía según la condición.&lt;br /&gt;
&lt;br /&gt;
Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear, close all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y=[];&lt;br /&gt;
y0=200;&lt;br /&gt;
c=linspace(1/100,99/100,99);&lt;br /&gt;
N=500000; %Población total;&lt;br /&gt;
x=linspace(0,300,99);&lt;br /&gt;
n=length(c); %numero de puntos&lt;br /&gt;
c0=c(1); &lt;br /&gt;
Y=N&lt;br /&gt;
%Esquema númérico&lt;br /&gt;
for i=1:n&lt;br /&gt;
    Yfinal=Y;&lt;br /&gt;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1&lt;br /&gt;
    y=[y;Y]&lt;br /&gt;
    if abs(Y-500)&amp;lt;=abs(Yfinal-500)&lt;br /&gt;
        c0=c(i)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
min(abs(y-500)) %Error absoluto mínimo&lt;br /&gt;
plot(c,abs(y-500))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de 'c' . Y se obtiene el valor de 'c' que minimiza el error el cual es igual a 0,92.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EpidemiaEuler.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Evolución de los Infectados por la Epidemia==&lt;br /&gt;
&lt;br /&gt;
Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Heun y el método de Runge Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
'''Método de Heun:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoHeun.png]]&lt;br /&gt;
&lt;br /&gt;
'''Método de Runge-Kutta:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:MétodoRungeKutta.png]]&lt;br /&gt;
&lt;br /&gt;
Mediante los métodos expuestos, el de Heun y Runge-Kutta, podemos determinar la evolución que experimentan los infectados a lo largo de las semanas. Dicha Evolución la vamos a representar gráficamente mediante el siguiente código empleado en MATLAB:&lt;br /&gt;
&lt;br /&gt;
[[File:GráficaHeunRunge-Kutta.jpg|600px|thumb|rigth|Evolución de la epidemia a lo largo del tiempo]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;&lt;br /&gt;
h=0.01;&lt;br /&gt;
z=[]; %Heun&lt;br /&gt;
y=[]; %Runge-Kutta&lt;br /&gt;
y0=200;&lt;br /&gt;
z0=200;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
z(1)=z0;&lt;br /&gt;
c =0.92;&lt;br /&gt;
N=500000; %Población total en el lugar de estudio&lt;br /&gt;
for i=1:N;&lt;br /&gt;
while y&amp;lt;400000 &amp;amp; z&amp;lt;400000&lt;br /&gt;
% Método de Heun&lt;br /&gt;
K1H=(c*z(i))/N*(N-z(i));&lt;br /&gt;
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));&lt;br /&gt;
z(i+1)=z(i)+(h/2)*(K1H+K2H);&lt;br /&gt;
&lt;br /&gt;
%Método de Runge Kutta&lt;br /&gt;
k1=(c*y(i))/N*(N-y(i));&lt;br /&gt;
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));&lt;br /&gt;
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));&lt;br /&gt;
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));&lt;br /&gt;
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);&lt;br /&gt;
i=i+1;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Discretización variable independiente&lt;br /&gt;
tN1=h*(length(y)-1);&lt;br /&gt;
tN2=h*(length(z)-1);&lt;br /&gt;
ty=t0:h:tN1;&lt;br /&gt;
tz=t0:h:tN2;&lt;br /&gt;
&lt;br /&gt;
Semana_maxima_infeccion=[ty(end) tz(end)]&lt;br /&gt;
ValorAproximado=[y(6/h),z(6/h)] %valor aproximado de infectados pasadas 6 semanas&lt;br /&gt;
hold on &lt;br /&gt;
%gráfica Runge-Kutta&lt;br /&gt;
plot(ty,y,'b')&lt;br /&gt;
%gráfica Heun&lt;br /&gt;
plot(tz,z,'r')&lt;br /&gt;
xlabel('Tiempo en semananas');&lt;br /&gt;
ylabel('Número de infectados');&lt;br /&gt;
legend('Runge Kutta','Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:GráficaRungeKutta-Heun.jpg]]&lt;br /&gt;
&lt;br /&gt;
Tal y cómo se puede apreciar en los gráficos adjuntos, el número de infectados es siempre creciente y lo hace de forma exponencial, de manera que el número de infectados seguirá aumentando hasta llegar a contagiar a toda la población, que en nuestro caso es de 500.000 habitantes. Al tratarse de una función exponencial que está acotada se comprueba la veracidad del máximo anteriormente dicho (500.000 habitantes).&lt;br /&gt;
&lt;br /&gt;
También se aprecia que hay muy poca diferencia entre las gráficas obtenidas por Heun y Runge-Kutta, de hecho, para ver de forma más clara la diferencia entre éstas, hemos tenido que aumentar hasta el orden de la diezmilésima en el eje de las X y teniendo en cuenta que la unidad es la semana.&lt;br /&gt;
&lt;br /&gt;
Además de las gráficas, el código nos devuelve el número de infectados pasadas 6 semanas y el tiempo que pasa hasta llegar a 400.000 personas infectadas. &lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Heun:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.029 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
'''-Utilizando el método de Runge-Kutta:''' &lt;br /&gt;
&lt;br /&gt;
A las 6 semanas hay 45.032 infectados. Se llega a los 400.000 infectados pasadas 10 semanas y un día y medio aproximadamente.&lt;br /&gt;
&lt;br /&gt;
==2a Parte: Modelo SIR==&lt;br /&gt;
Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:&lt;br /&gt;
[[Archivo:Imagen2.1.png|200px|thumb|left|Modelo SIR]]&lt;br /&gt;
&lt;br /&gt;
===Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N===&lt;br /&gt;
Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante:&lt;br /&gt;
\frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, &lt;br /&gt;
Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial&lt;br /&gt;
S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N&lt;br /&gt;
===Demostraciones analíticas con la tasa de remoción relativa===&lt;br /&gt;
[[Archivo:Imagen2.2.1.png|200px|thumb|right|Primera demostración del apartado 4.2]]&lt;br /&gt;
[[Archivo:Imagen2.2.2.png|200px|thumb|right|Segunda demostración del apartado 4.3]]&lt;br /&gt;
Llamamos tasa de remoción relativa a: \rho =\frac{r}{a}&lt;br /&gt;
Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta:&lt;br /&gt;
También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: &lt;br /&gt;
Mostramos el código para el primer caso con h=0.1&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
t0=0;%Intervalo de tiempo y anchura de paso&lt;br /&gt;
;tf=4;&lt;br /&gt;
h= 0.1&lt;br /&gt;
S0=159985; I0=15; % datos de la población &lt;br /&gt;
r=0.0000218; a=0.341; R0=0;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
k=((tf-t0)/h);&lt;br /&gt;
Se=[]; % método de euler&lt;br /&gt;
Ie=[];&lt;br /&gt;
Re=[];&lt;br /&gt;
Si=[]; % euler implícito&lt;br /&gt;
Ii=[];&lt;br /&gt;
Ri=[];&lt;br /&gt;
Sr=[]; % runge-kutta&lt;br /&gt;
Ir=[];&lt;br /&gt;
Rr=[];&lt;br /&gt;
Se(1)=S0;&lt;br /&gt;
Ie(1)=I0;&lt;br /&gt;
Re(1)=R0;&lt;br /&gt;
Si(1)=S0;&lt;br /&gt;
Ii(1)=I0;&lt;br /&gt;
Ri(1)=R0;&lt;br /&gt;
Sr(1)=S0;&lt;br /&gt;
Ir(1)=I0;&lt;br /&gt;
Rr(1)=R0;&lt;br /&gt;
% esquema numérico euler&lt;br /&gt;
for i=1:k&lt;br /&gt;
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));&lt;br /&gt;
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));&lt;br /&gt;
    Re(i+1)=Re(i)+h*(a*Ie(i));&lt;br /&gt;
end&lt;br /&gt;
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código&lt;br /&gt;
for j=1:k&lt;br /&gt;
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);&lt;br /&gt;
  Si(j+1)=Si(j)/(1+r*h*Ii(j));&lt;br /&gt;
  Ri(j+1)=Ri(j)+h*(a*Ii(j));&lt;br /&gt;
end&lt;br /&gt;
%esquema numerico runge-kutta&lt;br /&gt;
for n=1:k&lt;br /&gt;
 k1S = -r*Sr(n)*Ir(n); &lt;br /&gt;
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);&lt;br /&gt;
 k1R = a*Ir(n);&lt;br /&gt;
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k2R = a*(Ir(n) + 1/2*k1I*h);&lt;br /&gt;
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k3R = a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);&lt;br /&gt;
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);&lt;br /&gt;
 k4R = a*(Ir(n) + k3I*h);&lt;br /&gt;
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); &lt;br /&gt;
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); &lt;br /&gt;
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); &lt;br /&gt;
end&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')&lt;br /&gt;
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')&lt;br /&gt;
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')&lt;br /&gt;
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
[[Archivo:Graficoo2.12.jpg|400px|thumb|center|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.1.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.2.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.3.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.4.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas]] || [[Archivo:Graficoo2.5.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.6.jpg|thumb|475px|left|Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.7.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.8.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.9.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.10.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.11.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.12.jpg|thumb|475px|left|Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.13.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas]] || [[Archivo:Graficoo2.14.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas]] || [[Archivo:Graficoo2.15.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:Graficoo2.16.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas]] || [[Archivo:Graficoo2.17.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas]] || [[Archivo:Graficoo2.18.jpg|thumb|475px|left|Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interpretación de la epidemia y justificación de parámetros==&lt;br /&gt;
&lt;br /&gt;
En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En los datos del caso 1, la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad.&lt;br /&gt;
&lt;br /&gt;
En el caso 2, la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.&lt;br /&gt;
&lt;br /&gt;
En el caso 3, al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población.&lt;br /&gt;
&lt;br /&gt;
Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  &amp;lt;math&amp;gt; S_0 &amp;lt;/math&amp;gt; son superiores al coeficiente de la tasa de remoción relativa &amp;lt;math&amp;gt;(\rho = \frac{a}{r} ) &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: '''''NOTA''': En este apartado hemos representado cada gráfica solamente con dos pasos en vez de tres, ya que como se ha podido ver la diferencia de precisión es imperceptible, de manera que para no saturar con demasiadas gráficas hemos optado por obviar los casos en los que h=0.001.''&lt;br /&gt;
: ''En caso de que quisiésemos conocer estas gráficas bastaría con copiar el código de las anteriores sustituyendo el valor de h.''&lt;br /&gt;
: ''En todos los casos la diferencia de tamaños de los intervalos escogidos nos permiten comprobar mejor cómo es el comportamiento de las diferentes variables ya que en algunos casos, hay intervalos que no tienen la longitud suficiente para recoger toda la información. Especialmente un intervalo de mayor tamaño nos permite saber a qué valores tienden asintóticamente el número de ciudadanos infectados, susceptibles y removidos al cabo de un largo periodo de tiempo.'' &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Interpretaremos por tanto los 3 casos propuestos en el apartado anterior:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Caso 1:''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.&lt;br /&gt;
* Decimos que se cumple que la duración media de la epidemia sea de &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.&lt;br /&gt;
* El número de infectados no es inferior al inicial hasta la semana 20.&lt;br /&gt;
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Caso 2:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.&lt;br /&gt;
* En este caso no podemos considerar la duración media de la epidemia como &amp;lt;math&amp;gt; \frac{1}{a} &amp;lt;/math&amp;gt;,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.&lt;br /&gt;
* También aquí vemos que la tasa de reproducción de la infección &amp;lt;math&amp;gt; (R_0=\frac{r}{a} \cdot S_0)&amp;lt;/math&amp;gt;  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Caso 3''':&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED15/16]]&lt;br /&gt;
[[Categoría:Trabajos 2015-16]]&lt;/div&gt;</summary>
		<author><name>Pablo.molinero.brito</name></author>	</entry>

	</feed>