01 · Punto de partida
El mismo brote, tres dibujos
El SIR se puede ver como curvas en el tiempo S(t), I(t), R(t), como órbita en fase I contra S, o como recta en log al inicio. Los tres dibujan los mismos números: el pico se ve en el tiempo, el ataque se lee en la fase, la tasa se mide en el log.
Elegir el gráfico es elegir la pregunta: cada lente responde una y esconde las demás.
- ¿Cuándo es el pico (tiempo)?
- ¿Dónde termina (fase)?
- ¿A qué tasa despega (log)?
- ¿Qué eje miente si lo escalo mal?
02 · Definición
¿Qué muestra cada vista?
Tres lentes, tres respuestas:
Tiempo x(t)
Curvas contra t: pico, día, cruce. Ejemplo: I(t) con pico 301 en día 38.
Fase I(S)
Órbita sin t: de (990, 10) a (59, 0). El ataque se lee en el eje.
Log ln I(t)
Recta de pendiente β − γ al inicio: la tasa del despegue sin simular todo.
Cambiar de vista no cambia los datos: cambia la pregunta que se responde de un vistazo.
| Vista | Responde | Número |
|---|---|---|
| Tiempo I(t) | ¿Cuándo el pico? | Día ≈ 38,5. |
| Fase I(S) | ¿Dónde termina? | S* ≈ 59 (ataque 94 %). |
| Log ln I | ¿A qué tasa despega? | Pendiente 0,2/día. |
| Tabla | ¿Cuánto exacto? | Pico 300,8. |
03 · Anatomía
Ejes, escalas y marcas
Un gráfico honesto tiene cuatro decisiones visibles:
- Ejes con unidades
- Días, personas, log(personas): sin unidades el número flota.
- Escala lineal vs log
- Lineal muestra tamaño; log muestra tasa. El despegue pide log.
- Marcas del veredicto
- Pico, t90, N*: el gráfico marca lo que el texto afirma.
- Rango honesto
- Eje que empieza en 0 o avisa el corte: truncar exagera diferencias.
Gráfico que decide
Marca el veredicto
Pico con día, fase con S*, log con pendiente: el ojo verifica al texto.
Gráfico que decora
Curvas sin marcas
Colores lindos sin ejes ni números: no se puede verificar nada.
04 · Vistas del curso
El mismo dato, cinco marcos
Cada laboratorio usó su lente a propósito:
- 1Tiempo lineal.
Trayectorias N(t), P(t): picos y cruces. Casi todo el curso.
- 2Fase f(P).
Recta de pendientes con ceros: destino sin integrar.
- 3Órbita I(S).
Brote como viaje en el plano: ataque en el eje.
- 4Log.
Despegue como recta: r y β − γ de un vistazo.
- 5Banda error(t).
Validación como área: dónde duele el método.
05 · Representación en Python
Tres vistas desde la misma historia
En Python, una sola simulación alimenta las tres vistas: lista de (t, S, I) que se grafica de tres maneras.
Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Cambiá la vista de tiempo a fase y observá que los números son los mismos.
def historia(beta=0.3, gamma=0.1, n=1000, i0=10, dias=160, dt=1.0):
s, i, t, hist = n - i0, float(i0), 0.0, []
while t < dias - 1e-9:
hist.append((round(t, 1), round(s, 1), round(i, 1)))
c = beta * s * i / n
s, i = s - c * dt, i + (c - gamma * i) * dt
t += dt
return hist
h = historia()
print(h[0], "…", h[38], "…", h[-1])
La historia guarda S e I por día: el pico, la fase y el log salen de la misma lista.
Pendiente en log desde la historia
Los primeros días en log dan β − γ sin simular todo:
import math
def pendiente_log(h, dias=5):
i0 = h[0][2]
i5 = h[dias][2]
return round((math.log(i5) - math.log(i0)) / dias, 3)
print(pendiente_log(historia()))
06 · Exploración
Laboratorio: tres lentes, un brote
SIR con tu β (γ = 0,1, N = 1000, I₀ = 10). Cambiá la vista: tiempo (joroba con marca de pico), fase (órbita con punto final S*) o log (recta inicial con pendiente β − γ). El β mueve las tres a la vez: una sola historia, tres respuestas.
Ver de tres maneras
Vista: tiempo · γ = 0,1 · N = 1000
Vista tiempo: pico 300,80. Cambiá a fase o log con el control.
Tiempo: joroba con pico. Fase: órbita de (S₀, I₀) a (S*, 0). Log: recta inicial que delata β − γ.
Preguntas para explorar
- Con β = 0,15, ¿la órbita de fase llega más a la derecha (más S*)? ¿El pico baja?
- En vista log, ¿la pendiente inicial cambia con I(0)? ¿Y con β?
- ¿Qué vista usarías para decidir camas (pico) y cuál para ataque total?
Ver respuestas sugeridas
- Sí: menos contagio, más se salvan y pico más bajo y tardío.
- No con I(0) (paralelas); sí con β (pendiente = β − γ). El log separa.
- Tiempo para camas (pico y día), fase para ataque (S* en el eje).
07 · Comprensión
Confusiones frecuentes
«Más gráficos es mejor informe»
No: tres vistas con pregunta cada una. Diez curvas sin marcas no informan: decoran.
«La fase tiene tiempo»
No: la órbita I(S) borra t. Para el día del pico hay que volver al tiempo.
«El log muestra el tamaño»
Muestra la tasa: en log, 10 y 1000 parecen cerca. Para tamaños, lineal.
«Eje cortado avisa solo»
No avisa: exagera diferencias. O empieza en 0 o rotula el corte en grande.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: leer la fase
Con la historia del bloque, ¿en qué (S, I) termina? ¿Qué ataque implica?
h = historia()
print(h[-1])
print("ataque:", round((1000 - h[-1][1]) / 10, 1), "%")
Ver solución
Termina en ≈ (59, 0): ataque ≈ 94 %. La fase lo lee en el eje S.
Ejercicio 2: tasa en el log
Calculá la pendiente ln I entre día 0 y 5 con β = 0,3. ¿Da β − γ = 0,2?
import math
h = historia()
print(round((math.log(h[5][2]) - math.log(h[0][2])) / 5, 3))
Ver solución
≈ 0,19 (S ya cayó un poco): cerca de 0,2. El log mide la tasa sin ver el pico.
Ejercicio 3: tres vistas, un assert
Verificá que pico (tiempo), S* (fase) y pendiente (log) salen de la misma historia. Escribí el chequeo.
Ver una posible respuesta
h = historia()
pico = max(p[2] for p in h)
s_fin = h[-1][1]
print("pico:", round(pico, 1), "S*:", round(s_fin, 1))
Pico ≈ 300 y S* ≈ 59 de la misma lista: tres vistas, una sola verdad.
09 · Síntesis
Ideas para recordar
- Tiempo = cuándo (pico, día); fase = dónde termina (S*, ataque); log = a qué tasa (β − γ).
- Una historia [(t, S, I)] alimenta las tres: no simules tres veces.
- Ejes con unidades, marcas del veredicto, rango honesto: gráfico que decide.
- Lineal para tamaños, log para tasas, fase para destinos.
- Cada vista con su pregunta: el informe usa las tres, cada una marcada.
En el próximo tema cerraremos el loop: del modelo a la decisión.