🧮 Computational Mathematics

Inicio · Parte 11 — Métodos numéricos y computación científica

237 — Runge-Kutta

cientifico clase 17 de 20 4 horas demostración runge_kutta

RK4 cuesta cuatro evaluaciones por paso y las devuelve multiplicadas.

Fórmulas

k₁ = f(tₙ, yₙ);  k₂ = f(tₙ+h/2, yₙ+h·k₁/2)
k₃ = f(tₙ+h/2, yₙ+h·k₂/2);  k₄ = f(tₙ+h, yₙ+h·k₃)
yₙ₊₁ = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄)

Desarrollo

Runge-Kutta de cuarto orden promedia cuatro estimaciones de la pendiente dentro del intervalo: una al inicio, dos en el punto medio y una al final, con pesos 1, 2, 2, 1. Ese promedio ponderado cancela los términos de error hasta orden 4 del desarrollo de Taylor.

El resultado es una relación coste-beneficio excelente. Cuatro evaluaciones por paso, pero error O(h⁴): duplicar los pasos divide el error por 16. La comparación con Euler es contundente y merece verse en números: RK4 con 5 pasos —20 evaluaciones— supera a Euler con 80 pasos —80 evaluaciones— por un factor de 40 en precisión.

RK4 es el estándar de facto para problemas no rígidos, y su variante adaptativa —Dormand-Prince, el RK45 de las bibliotecas— añade una estimación del error por paso que permite ajustar h automáticamente: pasos grandes donde la solución es suave y pequeños donde cambia rápido. Es lo que se usa en producción.

Su límite es el mismo que el de Euler, solo que desplazado: sigue siendo explícito y su región de estabilidad, aunque mayor, es finita. Con problemas rígidos —donde conviven escalas de tiempo que difieren en órdenes de magnitud— el paso queda limitado por la escala más rápida aunque la solución de interés sea lenta, y hay que pasar a métodos implícitos como BDF.

Ejemplo trabajado

RK4 sobre el mismo problema de referencia.

pasos     y(1)              error        razón
   5   0,419270018     1,0091e-04         —
  10   0,419175447     6,3430e-06       15,91
  20   0,419169501     3,9700e-07       15,98
  40   0,419169129     2,4820e-08       16,00

La razón tiende a 16 → orden 4 confirmado            ✓

Comparación por evaluaciones de f:
  Euler,  80 pasos =  80 evaluaciones → error 4,26e-03
  RK4,     5 pasos =  20 evaluaciones → error 1,01e-04

RK4 gana por 42 veces con la cuarta parte del trabajo.

Qué calcula el laboratorio

RK4: cuatro evaluaciones por paso, error O(h⁴).

python classes/part-11-metodos-numericos-y-computacion-cientifica/237-runge-kutta/lab.py
compmath run 237

Salidas del laboratorio (6)

Muestra de la ejecución real

{
  "metodo": "Runge-Kutta 4",
  "informe": [
    {
      "pasos": 5,
      "y(1)": 0.419270018285,
      "error": 0.00010091423946129163,
      "razon": null
    },
    {
      "pasos": 10,
      "y(1)": 0.419174435538,
      "error": 5.3314923718073e-06,
      "razon": 18.928
    },
    {
      "pasos": 20,
      "y(1)": 0.419169410527,
      "error": 3.0648147258949265e-07,
      "razon": 17.396
    },
    {
      "pasos": 40,
      "y(1)": 0.419169122418,
      "error": 1.8371989318755055e-08,
      "razon": 16.682
    }
  ],
  "orden": 4,
  "duplicar_pasos_divide_el_error_por_16": true,
  "coste_por_paso": "4 evaluaciones de f",
  "comparacion": "RK4 con 5 pasos supera a Euler con 80"
}

Errores comunes

Dónde se usa

Simulación de sistemas dinámicos, mecánica orbital, Neural ODE, samplers de modelos de difusión y motores físicos.

Idea rectora de la parte

Newton converge cuadráticamente, pero solo cerca de la raíz.

Error a evitar

Iterar sin límite máximo y colgar el proceso.

Conexión con IA

Los Neural ODE, los samplers de difusión y los optimizadores de segundo orden son métodos numéricos con parámetros aprendidos.

Bibliografía de la clase

Archivos de la clase