Sobre la historia
Ver Carnicero: Historia del método Runge-Kutta
En resumen, las personas (Nystroem, Runge, Heun, Kutta,...) de finales del siglo XIX experimentaron con éxito la generalización de los métodos de integración numérica de funciones en una variable $$\int_a^bf(x)dx,$$ como los métodos de Gauss, trapezoidal, del punto medio y de Simpson, a la solución de ecuaciones diferenciales, que tienen una forma integral $$y(x)=y_0+\int_{x_0}^x f(s,y(s))\,ds.$$
Carl Runge en 1895 [1] llegó ("por algún curioso proceso inductivo" - "auf einem eigentümlich induktiven Wege" escribió Heun 5 años después) al método de 4 etapas de 3er orden \begin{align} k_1&=f(x,y)Δx,\\ k_2&=f(x+\tfrac12Δx,y+\tfrac12k_1)Δx\\ k_3&=f(x+Δx,y+k_1)Δx\\ k_4&=f(x+Δx,y+k_3)Δx\\ y_{+1}&=y+\tfrac16(k_1+4k_2+k_4) \end{align}
[1] <em>"Sobre la resolución numérica de ecuaciones diferenciales". </em>, Matemáticas. Ann. 46, p. 167-178
Inspirado por este Karl Heun en 1900 [2] exploró métodos del tipo $$ \left.\begin{aligned}k^i_m &= f(x+ε^i_mΔx,y+ε^i_mk^{i+1}_m)Δx,~~ i=1,..,s,\\ k^{s+1}_m&=f(x,y)Δx\end{aligned}\right\},~~ m=1,..,n\\ y_{+1}=y+\sum_{m=1}^n\alpha_mf(x+ε^0_mΔx,y+ε^0_mk^1_m)Δx $$ Calculó las condiciones de orden por expansión de Taylor y construyó métodos de este tipo hasta el orden 4, sin embargo los únicos métodos Runge-Kutta hoy reconocibles entre ellos son el método Heun-trapezoidal de orden 2 y el método Heun de orden 3.
[2] <em>"Nuevo método para la integración aproximada de las ecuaciones diferenciales de una variable independiente". </em>Z. f. Math. u. Phys. 45, p. 23-38
Wilhelm Kutta en su publicación un año después, en 1901 [3] consideró que el esquema de Heun era un desperdicio en el número de evaluaciones de la función e introdujo lo que hoy se conoce como métodos Runge-Kutta explícitos, en los que cada nueva evaluación de la función contiene potencialmente todos los valores anteriores en la $y$ actualizar. \begin{align} k_1&=f(x,y)Δx,\\ k_m&=f(x+c_mΔx, y+a_{m,1}k_1+...+a_{m,m-1}k_{m-1})Δx,&& m=2,...,s\\[0.5em] y_{+1}&=y+b_1k_1+...+b_sk_s \end{align} Calculó las condiciones de orden y presentó métodos hasta el orden $5$ en la parametrización y los ejemplos. Destacó especialmente el método 3/8 por su simetría y su pequeño término de error y el método "clásico" RK4 por su simplicidad al utilizar siempre sólo el último valor de la función en el $y$ actualizaciones.
[3] <em>"Contribución a la solución aproximada de ecuaciones diferenciales totales". </em>Z. f. Math. u. Phys. 46, p. 435-453
Sobre la dependencia del orden del rendimiento
El Método Euler tiene el orden de error global 1. Lo que significa que para obtener un nivel de error de $10^{-8}$ (en los problemas de ejemplo que se comportan bien) necesitará un tamaño de paso de $h=10^{-8}$ . En el intervalo $[0,1]$ esto requiere $10^8$ pasos con $10^8$ evaluaciones de funciones.
El clásico Método RK4 tiene un orden de error 4. Para obtener un nivel de error de $10^{-8}$ por lo que necesitará un tamaño de paso de $h=0.01$ . En el intervalo $[0,1]$ esto requiere $100$ pasos con $400$ evaluaciones de funciones.
Si se disminuye el paso en un factor de $10$ a $h=0.001$ El Método RK4 necesitará $1000$ pasos con $4000$ evaluaciones de la función para obtener un nivel de error de $10^{-12}$ . Esto sigue siendo un esfuerzo mucho menor que el utilizado en el Ejemplo de Euler anterior con un resultado mucho mejor.
Utilizando double
números de precisión en coma flotante no obtendrá un resultado mucho mejor con ningún método que utilice un tamaño de paso fijo, ya que los tamaños de paso más pequeños dan lugar a una acumulación de ruido en coma flotante que domina el error del método.
0 votos
El método RK4 es más eficaz que el método de Euler porque utiliza 4 etapas para obtener una aproximación, a diferencia del método de Euler, que utiliza 1 etapa. Véase aquí para una buena descripción del método. Puedes encontrar la derivación en la mayoría de los libros de análisis numérico.
0 votos
math.stackexchange.com/questions/528856/ Esta pregunta está duplicada. Vea esta pregunta.