Modelos Continuos · Tema 01

Concepto de sistema continuo

Qué cambia cuando todo fluye sin pausas: tiempo continuo, estado continuo y tasas de cambio que nunca se detienen.

01 · Punto de partida

Todo modelo continuo empieza por un flujo

Antes de escribir una ecuación diferencial, hay una pregunta previa: ¿qué es lo que fluye y sin detenerse? El nivel de un tanque con canillas abiertas, la temperatura de una taza que se enfría, una población de bacterias que se divide, la carga de una batería o los primeros contagios de una epidemia son sistemas continuos: su estado cambia en todo instante, no a saltos.

Reconocer ese flujo es la mitad del trabajo. Si lo tratamos como una secuencia de pasos sueltos, perdemos lo esencial: la tasa a la que cambia en cada momento.

  • ¿Qué magnitud se acumula o se pierde de forma permanente?
  • ¿A qué velocidad cambia en cada instante?
  • ¿Qué entra y qué sale sin interrupción?
  • ¿Qué detalle temporal podemos ignorar y cuál no?

02 · Definición

¿Qué es un sistema continuo?

Un sistema continuo se describe con tres elementos mínimos:

◷

Tiempo continuo

El reloj no avanza por turnos: entre dos instantes siempre hay más instantes. Ejemplo: t = 2,37 s también existe.

∿

Estado continuo

El nivel puede valer 10, 10,5 o 10,53 litros: no hay escalones obligatorios. Ejemplo: temperatura, nivel, población modelada como densidad.

⇗

Tasa de cambio

La velocidad instantánea del cambio: cuánto subiría por unidad de tiempo si todo siguiera igual. Ejemplo: +1 litro por minuto.

El cuarto elemento es la trayectoria: la curva completa que dibuja el estado a lo largo del tiempo. Esa curva es lo que luego intentaremos predecir con una ecuación y reproducir con un método numérico.

El mismo fenómeno puede mirarse como discreto o como continuo.
FenómenoMirada discretaMirada continua
Tanque con canillasNivel medido cada horaNivel que fluye en todo instante
TemperaturaRegistro del termómetro cada minutoEnfriamiento permanente hacia el ambiente
PoblaciónCenso una vez por añoNacimientos y muertes gota a gota
EpidemiaCasos reportados por díaContagios que ocurren a cada momento

03 · Flujo permanente

Niveles, flujos y tasas

En un sistema continuo, el nivel acumula lo que los flujos aportan o retiran sin pausa. La diferencia entre el flujo de entrada y el de salida es la tasa neta: si es positiva, el nivel sube; si es negativa, baja; si es cero, el sistema está en equilibrio.

Sistema discreto

Avanza por pasos

El estado se actualiza en instantes separados: nivel(t+1) = nivel(t) + entrada − salida. Entre pasos, nada cambia.

Sistema continuo

Fluye sin detenerse

El estado cambia en todo momento: dN/dt = entrada − salida. La curva entre dos mediciones también existe y tiene forma.

Nivel
Estado acumulado: litros, grados, individuos, carga. Se denota x(t) o N(t).
Flujo
Aporte o retiro por unidad de tiempo: litros por minuto, grados por hora.
Tasa neta
Entradas menos salidas en cada instante: dx/dt. Define la pendiente de la curva.
Trayectoria
La curva x(t) completa: el objeto que queremos modelar y simular.

04 · Ejemplos

Sistemas continuos que un programador puede simular

El patrón nivel → flujos → tasa aparece en dominios muy distintos. Reconocerlo permite reutilizar las mismas técnicas numéricas:

Nivel x(t)→Tasa dx/dt→Trayectoria
  1. 1
    Tanque con canillas.

    Nivel: litros. Tasa: caudal de entrada menos caudal de salida. Curva: recta que sube o baja.

  2. 2
    Taza que se enfría.

    Nivel: temperatura. Tasa: proporcional a la diferencia con el ambiente. Curva: descenso que se suaviza.

  3. 3
    Bacterias en cultivo.

    Nivel: población. Tasa: proporcional a la población presente. Curva: crecimiento que se acelera.

  4. 4
    Batería en carga.

    Nivel: carga. Tasa: corriente de entrada menos consumo. Curva: subida con techo.

  5. 5
    Contagio inicial.

    Nivel: infectados. Tasa: contactos por susceptible por infectado. Curva: despegue exponencial.

05 · Representación en Python

Describir un flujo con datos

En Python, el primer paso es dejar por escrito el sistema continuo: nombre, nivel, flujos y tasa. Todavía no integramos; solo declaramos qué fluye.

Python en tu navegador. Los bloques de esta página se ejecutan localmente con Pyodide, sin instalar nada. La primera ejecución tarda unos segundos mientras se descarga el intérprete; las siguientes son inmediatas. Podés editar el código y volver a ejecutarlo.

sistema_tanque = {
    "nombre": "Tanque con canillas abiertas",
    "nivel": "litros en el tanque: N(t)",
    "flujos": ["entrada: 3 L/min", "salida: 2 L/min"],
    "tasa": "dN/dt = entrada - salida = +1 L/min",
}

for clave, valor in sistema_tanque.items():
    print(clave, ":", valor)

Consejo: cambiá la tasa a +0 o a un valor negativo y anticipá si la curva subirá, se quedará plana o bajará.

Del flujo a la curva

Para dibujar la trayectoria aproximamos lo continuo con pasos muy finos dt: en cada mini-paso sumamos tasa * dt. Con dt pequeño, la poligonal se parece mucho a la curva real. Esta idea —integrar por pasos finos— será la base del método de Euler:

def trayectoria_continua(nivel_inicial, entrada, salida, t_final, dt=0.1):
    nivel = nivel_inicial
    t = 0.0
    historia = [(t, nivel)]
    while t < t_final - 1e-9:
        tasa = entrada - salida
        nivel = nivel + tasa * dt
        if nivel < 0:
            nivel = 0
        t = t + dt
        historia.append((round(t, 2), round(nivel, 2)))
    return historia


for t, n in trayectoria_continua(10, 3, 2, 5, dt=1.0):
    print(f"t={t}: N={n}")

06 · Exploración

Laboratorio: el tanque que nunca se detiene

Movete los controles y observá el sistema continuo más simple: un tanque con caudal de entrada y caudal de salida siempre abiertos. La línea sólida es la trayectoria continua; los puntos son tus mediciones cada cierto intervalo. El sistema fluye igual aunque midas poco.

EXPERIMENTO 01

Tanque continuo y muestreo

dN/dt = entrada − salida

Los resultados numéricos aparecen debajo.
Nivel inicial10,00
Tasa dN/dt+1,00
Nivel final (t=12)22,00
EstadoCrece

Con entrada 3 y salida 2, la tasa es +1 por minuto.

La curva muestra el nivel en todo instante. Los puntos muestran cuándo lo medís: si medís cada 4 minutos ves pocos puntos, pero el flujo entre ellos sigue existiendo.

Preguntas para explorar

  1. Igualá entrada y salida. ¿Qué forma tiene la curva? ¿Cómo se llama ese estado?
  2. Poné la salida mayor que la entrada con nivel inicial 10. ¿En qué tiempo se vacía? ¿La curva se detiene o se queda en cero?
  3. Agrandá el intervalo de medición a 4. ¿Cambió el sistema o solo tu observación?
Ver respuestas sugeridas
  1. La curva queda horizontal: tasa 0. Es un equilibrio continuo.
  2. Con entrada 3 y salida 4 la tasa es −1: se vacía en t = 10 min y luego se queda en cero (el tanque no baja del fondo).
  3. Solo cambió tu observación: la curva continua es la misma, ves menos puntos. El sistema fluye igual entre mediciones.

07 · Comprensión

Confusiones frecuentes

«Si lo programo por pasos, ya es discreto»

No: los pasos dt son una aproximación numérica. El sistema modelado sigue siendo continuo; con dt más fino la poligonal se acerca más a la curva real.

«Si mido cada hora, el sistema cambia cada hora»

La medición es discreta, el fenómeno no. Entre dos mediciones el nivel siguió fluyendo; la recta que los une es solo una suposición.

«Continuo significa lineal»

No: continuo significa sin saltos, no en línea recta. La tasa puede depender del nivel (como veremos en el crecimiento exponencial) y la curva se dobla.

«Más ecuaciones significan mejor modelo»

Más detalle implica más tasas que estimar y más error posible. El recorte continuo debe responder a la pregunta, no a la ambición.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: declarar el sistema continuo

Completá el diccionario para el sistema «taza que se enfría» y ejecutalo. Luego cambiá los flujos y razoná qué curva esperás.

taza = {
    "nombre": "Taza que se enfría",
    "nivel": "temperatura T(t) en grados",
    "flujos": ["pérdida hacia el ambiente"],
    "tasa": "dT/dt = -k * (T - T_ambiente)",
}

print("Nivel:", taza["nivel"])
print("Tasa:", taza["tasa"])
Ver solución razonada

El nivel es una temperatura continua y la tasa depende del propio nivel: cuanto más caliente, más rápido se enfría. La curva baja rápido al principio y se suaviza cerca del ambiente. No es una recta: es el primer indicio de dinámica no lineal.

Ejercicio 2: predecir con la fórmula continua

Sin ejecutar primero: si el tanque empieza en 5, entran 4 y salen 4 por minuto durante 3 minutos, ¿qué niveles esperás en t = 0, 1, 2, 3? Después comprobalo con código.

def nivel_continuo(nivel_inicial, entrada, salida, tiempos):
    tasa = entrada - salida
    return [nivel_inicial + tasa * t for t in tiempos]


print(nivel_continuo(5, 4, 4, [0, 1, 2, 3]))
Ver solución

La tasa es 0, así que el nivel queda fijo: [5, 5, 5, 5]. La curva es horizontal: el sistema está en equilibrio continuo.

Ejercicio 3: tiempo de vaciado continuo

Escribí una función que devuelva en qué tiempo el tanque llega a cero (o None si nunca se vacía). Probala con nivel 6, entrada 1, salida 3.

Ver una posible respuesta
def tiempo_de_vaciado(nivel_inicial, entrada, salida):
    tasa = entrada - salida
    if tasa >= 0:
        return None
    return nivel_inicial / (salida - entrada)


print(tiempo_de_vaciado(6, 1, 3))

La tasa es −2 por minuto, así que tarda 6 / 2 = 3 min. En tiempo continuo el vaciado ocurre exactamente en t = 3, no «en el paso 3»: entre t = 2,5 y t = 3 el nivel pasó por todos los valores intermedios.

09 · Síntesis

Ideas para recordar

  • Un sistema continuo combina nivel continuo, flujos permanentes, tasa instantánea y trayectoria.
  • La tasa dx/dt es la pendiente de la curva en cada instante: su signo dice si el nivel sube, baja o reposa.
  • Medir por intervalos no vuelve discreto al sistema: el flujo entre mediciones sigue existiendo.
  • En Python, un flujo se declara con datos y se aproxima con pasos finos dt; con dt pequeño la poligonal imita la curva.
  • El tanque con entrada y salida constantes es el arquetipo: tasa fija, trayectoria recta y equilibrio cuando se igualan.

En el próximo tema estudiaremos el tiempo continuo: cómo representar el reloj que nunca se detiene y por qué el paso dt es una decisión numérica, no una propiedad del sistema.