Inicio / Programación / Introducción a Programación de Modelos Biológicos

Programando el Método de Euler: De la Ecuación al Bucle

En nuestra sección de matemáticas demostramos que el Método de Euler nos permite resolver ecuaciones complejas dando pequeños "pasos" en el tiempo. La fórmula que aprendimos fue:

$$ y_{n+1} = y_n + f(t_n, y_n) \Delta t $$

Hacer esto a mano 10 veces es aburrido; hacerlo 10,000 veces para simular un latido cardíaco es humanamente imposible. Aquí es donde Python entra a salvarnos. Para traducir esta matemática a código, solo necesitamos entender dos conceptos: cómo guardar el estado actual y cómo crear un bucle que repita el cálculo.

El Bucle For: El Motor del Tiempo

En programación, cuando queremos que la computadora repita una acción un número específico de veces, usamos un bucle For (for loop). Cada vez que el bucle da una vuelta, nuestro "reloj virtual" avanza un milisegundo.

Observa el siguiente código. Vamos a simular cómo un capacitor celular (la membrana) se carga y cambia su voltaje con el tiempo, utilizando exactamente la lógica de Euler:

# SIMULACIÓN: MÉTODO DE EULER EN PYTHON


# 1. Definimos las condiciones iniciales (El Presente)
voltaje = -65.0       # Voltaje inicial de reposo (mV)
dt = 0.01             # Delta t: El tamaño de nuestro paso de tiempo (ms)
pasos_totales = 1000  # Cuántas iteraciones hará la computadora

print("Iniciando simulación...")

# 2. Creamos el bucle del tiempo
for i in range(pasos_totales):
    
    # A) Calculamos la derivada en este instante exacto (f(t, y))
    # En este ejemplo, una tasa de cambio ficticia basada en el voltaje
    derivada_voltaje = -(voltaje + 65.0) / 10.0 + 5.0 
    
    # B) APLICAMOS EULER: Nuevo = Actual + (Derivada * dt)
    voltaje = voltaje + (derivada_voltaje * dt)
    
    # C) Imprimimos el resultado cada 200 pasos para no saturar la pantalla
    if i % 200 == 0:
        print(f"Paso {i}: El voltaje es {voltaje:.2f} mV")

print("¡Simulación terminada!")

Anatomía de la Iteración

Analicemos la magia detrás de la línea voltaje = voltaje + (derivada_voltaje * dt). En matemáticas tradicionales, decir \(x = x + 1\) es un error absurdo. Pero en programación, el signo de igual (=) no significa "igualdad", significa asignación.

La computadora lee la instrucción de derecha a izquierda: primero toma el voltaje que tenía en la memoria, le suma el cambio (derivada * dt), y ese nuevo resultado lo guarda sobrescribiendo la antigua variable voltaje. ¡Acabamos de viajar un paso hacia el futuro!

Si alteramos la fórmula de la derivada para incluir las 4 variables de Hodgkin y Huxley (Sodio, Potasio, Fuga y Capacitancia), este exacto bucle de 5 líneas de código es capaz de simular patologías reales en el consultorio virtual.

🔬 Ve el Código en Acción

Ya dominas la teoría clínica, el modelo matemático y la estructura en Python. Es momento de ver la culminación de todo este conocimiento. Entra a nuestro laboratorio virtual, donde un bucle For como este está calculando miles de ecuaciones de Euler por segundo para dibujar la gráfica del potencial de acción interactivo.

Entrar al Laboratorio Virtual →

Evaluación Interactiva

Pon a prueba lo que acabas de leer. Tu progreso se guardará en tu navegador.