Inicio · Parte 11 — Métodos numéricos y computación científica
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₄)
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.
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.
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
metodoinformeordenduplicar_pasos_divide_el_error_por_16coste_por_pasocomparacion{
"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"
}
Simulación de sistemas dinámicos, mecánica orbital, Neural ODE, samplers de modelos de difusión y motores físicos.
Los Neural ODE, los samplers de difusión y los optimizadores de segundo orden son métodos numéricos con parámetros aprendidos.
9783540788621 verificado en International ISBN Agency (2026-08-19).