Modelos y Simulación · Tema 24

Formulación matemática

Ecuaciones y reglas que capturan el comportamiento: del esquema al lenguaje preciso.

01 · Punto de partida

Del dibujo a la ecuación

El esquema dice «el nivel sube con la entrada y baja con la salida». La formulación matemática lo escribe sin ambigüedad: n(t+1) = n(t) + e − s. Esa precisión permite verificar, comparar y programar sin adivinar.

  • ¿Cómo se escribe esta flecha con símbolos?
  • ¿Qué significa cada letra y en qué unidades?
  • ¿La ecuación cubre bordes y casos raros?
  • ¿Código y ecuación dan lo mismo?

02 · Las ecuaciones del curso

Cuatro fórmulas que ya conocés

+

Balance

Lo que entra menos lo que sale: la contabilidad de todo sistema.

↻

Recurrencia

El próximo estado en función del actual: la marcha del tiempo.

∑

Acumulación

La suma de aportes: totales, promedios y métricas.

Del relato a la ecuación.
RelatoEcuación
El nivel sube con la entradan(t+1) = n(t) + e − s
No baja de cero ni pasa el topen = mín(máx(n, 0), TOPE)
El total del díaT = v₁ + v₂ + ··· + v₈
La ganancia por demandaG(d) = m × d − F

03 · Ingredientes formales

Cómo escribir sin ambigüedad

  1. 1
    Nombrá y tipificá.

    Cada letra con significado y unidades: n en litros, t en pasos.

  2. 2
    Indexá el tiempo.

    t, t+1: quién es antes y quién después, siempre explícito.

  3. 3
    Cubrí los bordes.

    mín, máx y condicionales: la ecuación también respeta el contorno.

  4. 4
    Contrastá con código.

    Mismos datos, mismo resultado: ecuación y programa empatan.

Ecuación

Exacta y compacta

Declara el comportamiento de una vez: ideal para verificar y comunicar.

Código

Ejecutable y flexible

Recorre casos, topes y azar: ideal para experimentar.

Recurrencia
Ecuación que define el siguiente a partir del actual.
Forma cerrada
Resultado directo sin iterar: n(t) = n₀ + b × t.
Definición por partes
Reglas distintas según la zona (con o sin tope).
Notación
Acuerdo de símbolos: el idioma del equipo.

04 · Puentes

La ecuación que verifica

Esquema→Ecuación⇄Código→Confianza

El Tema 25 llevará esta ecuación al programa definitivo. Por ahora: toda recurrencia del curso debe poder escribirse y leerse en voz alta.

05 · En Python

Ecuaciones que corren

Python en tu navegador. Cada ecuación es una función de una línea: la matemática hecha código.

def cerrado(n0, balance, t):
    # Forma cerrada: n(t) = n0 + b * t.
    return max(n0 + balance * t, 0)


def recurrente(n0, balance, pasos):
    # Recurrencia: n(t+1) = n(t) + b.
    n = n0
    for t in range(pasos):
        n = max(n + balance, 0)
    return n


print(cerrado(10, 2, 6), recurrente(10, 2, 6))

Sumatorias que resumen

ventas = [5, 8, 6, 9]


def total(xs):
    # T = x1 + x2 + ... + xn.
    return sum(xs)


print("total:", total(ventas))
print("promedio:", round(total(ventas) / len(ventas), 2))

06 · Exploración

Laboratorio: dónde muere la fórmula ingenua

La recta es la fórmula cerrada ingenua (sin tope); la curva, la recurrencia con tope. Se separan justo donde el contorno actúa. Movete el tope.

EXPERIMENTO 24

Cerrada contra recurrencia

n(t) = n₀ + b·t vs. con tope

Los resultados numéricos aparecen debajo.
Cerrada en t=1234,00
Recurrencia30,00
Brecha4,00
Toque en t=10

La fórmula ingenua sigue de largo; la recurrencia se ameseta en 30.

La brecha entre ambas es el error de ignorar el contorno en la ecuación.

Preguntas para explorar

  1. Con tope 50, ¿se tocan en 12 pasos? ¿Qué dice eso de la fórmula ingenua?
  2. ¿En qué t toca el tope con balance 2 e inicio 10?
  3. Escribí la ecuación completa (por partes) de este laboratorio.
Ver respuestas sugeridas
  1. No se tocan (34 < 50): la ingenua vale mientras el contorno no actúa.
  2. En t = 10: 10 + 2 × 10 = 30, justo el tope.
  3. n(t+1) = mín(n(t) + b, TOPE), con n(0) = inicio: recurrencia más borde.

07 · Comprensión

Confusiones frecuentes

«La ecuación es solo para matemáticos»

Es para programadores: una línea exacta evita cien líneas de adivinanza y verifica el código.

«Si está en código ya está formulado»

El código mezcla modelo con detalles técnicos. La ecuación aísla el comportamiento puro.

«Vale con escribirla una vez»

Cada cambio del modelo actualiza la ecuación: matemática y código versionan juntos.

«Los bordes se agregan después»

Los bordes son parte de la ecuación (mín, máx, partes): sin ellos la fórmula miente.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: empatar lenguajes

Verificá que cerrada y recurrencia empaten sin tope.

def cerrado(n0, balance, t):
    return max(n0 + balance * t, 0)

def recurrente(n0, balance, pasos):
    n = n0
    for t in range(pasos):
        n = max(n + balance, 0)
    return n


print(cerrado(10, 2, 6), recurrente(10, 2, 6))
Ver solución razonada

Ambas dan 22: dos escrituras de la misma matemática. Si difieren, el bug está en la traducción.

Ejercicio 2: sumar con notación

Total y promedio de [5, 8, 6, 9] con funciones que declaran su ecuación.

ventas = [5, 8, 6, 9]
print("total:", sum(ventas))
print("promedio:", round(sum(ventas) / len(ventas), 2))
Ver solución

Total 28, promedio 7.0: T = Σv y media = T/n, las sumatorias más usadas del curso.

Ejercicio 3: escribir por partes

Escribí en palabras y en código la recurrencia con tope del laboratorio.

Ver una posible respuesta
# n(t+1) = min(n(t) + b, TOPE), n(0) = inicio.
def paso(n, b, tope):
    return min(n + b, tope)


print(paso(29, 2, 30), paso(10, 2, 30))

Da 30 y 12: «sube de a b hasta el tope». Una línea de matemática, una de código.

09 · Síntesis

Ideas para recordar

  • La ecuación es el contrato exacto: variables, índices y bordes.
  • Recurrencia cuenta la marcha; cerrada salta al final; por partes cubre bordes.
  • Ecuación y código deben empatar con los mismos datos.
  • La fórmula ingenua vale donde el contorno no actúa.
  • En Python: funciones de una línea con su ecuación en comentario.

En el próximo tema pasaremos del papel al programa: el modelo computacional.