Hay muchos métodos de Runge–Kutta. La que tú has descrito es probablemente la más popular y ampliamente utilizado. No voy a mostrar cómo derivar este método en particular – en lugar de eso voy a derivar la fórmula general para el explícito de segundo orden de Runge–Kutta y usted puede generalizar las ideas.
En lo que sigue vamos a necesitar los siguientes series de Taylor de las expansiones.
\begin{align}
\tag1\label{eq1} & x(t+\Delta t) = x(t) + (\Delta t)x'(t) + \frac{(\Delta t)^{2}}{2!}x''(t) + \text{higher order terms}. \\
\tag2\label{eq2} & f(t + \Delta t, x + \Delta x) = f(t,x) + (\Delta t)f_{t}(t,x) + (\Delta x)f_{x}(t,x) + \text{higher order terms}.
\end{align}
Estamos interesados en la siguiente ODA:
x'(t) = f(t,x(t)).
El valor de x(t) es conocido y x(t+h) es deseado. Podemos resolver esta ODA mediante la integración de:
x(t+h) = x(t) + \int_{t}^{t+h}f(\tau,x(\tau))\text{d}\tau.
Por desgracia, en realidad, haciendo que la integración exactamente a menudo es bastante difícil (o imposible), así que un aproximado usando cuadratura:
x(t+h) \approx x(t) + h\sum_{i=1}^{N}\omega_{i}f(t + \nu_{i}h,x(t + \nu_{i}h)).
La exactitud de la cuadratura depende del número de términos en la suma (el orden de los métodos de Runge–Kutta), los pesos, \omega_{i}, y la posición de los nodos, \nu_{i}.
Incluso esta cuadratura puede ser bastante difícil de calcular, ya que en el lado derecho tenemos a x(t + \nu_{i}h), lo que no sabemos. Hemos de conseguir alrededor de este problema de la siguiente manera:
Deje \nu_1=0, lo que hace que el primer término de la cuadratura K_{1} := hf(t,x(t)). Esto nos lo hacen saber y nosotros también lo puede utilizar para aproximar x(t + \nu_{2}h) escribiendo el segundo término de la cuadratura como K_{2} := hf(t+\alpha h,x(t) + \beta K_{1}).
Con esto, la cuadratura fórmula es:
\tag3\label{eq3} x(t+h) = x(t) + \omega_{1}K_{1} + \omega_{2}K_{2}.
Algunas notas:
- Si queríamos encontrar una de tercer orden, método, se introduciría K_{3} = hf(t+\tilde{\alpha}h,x+\tilde{\beta}K_{1} + \tilde{\gamma}K_{2}). Si queríamos un cuarto método de orden, se introduciría K_{4} en una manera similar.
- Este es un método explícito, es decir, hemos escogido K_{2} a depender de K_{1} pero K_{1} no depende de K_{2}. Del mismo modo, K_{3} (si nos presentamos a) depende de la K_{1} K_{2} pero no dependen de K_{3}. Se podría permitir que la dependencia a ejecutar ambas maneras, pero el método es implícita y se vuelve mucho más difícil de resolver.
- Todavía tenemos que elegir \alpha, \beta y el \omega_{i}. Vamos a hacer eso ahora, usando la serie de Taylor de las expansiones me introdujo en el principio.
En la ecuación \eqref{eq3}, sustituimos en la expansión en series de Taylor \eqref{eq1} en el lado izquierdo:
x(t) + h x'(t) + \frac{h^{2}}{2!}x''(t) + \mathcal{O}\left(h^{3}\right) = x(t) + \omega_{1}K_{1} + \omega_{2}K_{2}.
Desde x' = f e lo x'' = f_{t} + ff_{x} (supresión de los argumentos para la facilidad de notación), tenemos:
hf + \frac{h^{2}}{2}(f_{t} + ff_{x}) + \mathcal{O}\left(h^{3}\right) = \omega_{1}K_{1} + \omega_{2}K_{2}.
Ahora sustituye por K_{1}K_{2}:
hf + \frac{h^{2}}{2}(f_{t} + ff_{x}) + \mathcal{O}\left(h^{3}\right) = \omega_{1}hf + \omega_{2}hf(t + \alpha h, x + \beta K_{1}).
Taylor-ampliar en el lado derecho de usar \eqref{eq2}:
hf + \frac{h^{2}}{2}(f_{t} + ff_{x}) + \mathcal{O}\left(h^{3}\right) = \omega_{1}hf + \omega_{2}(hf +\alpha h^{2}f_{t} + \beta h^{2} ff_{x}) + \mathcal{O}\left(h^{3}\right).
Así, el método de Runge–Kutta de acuerdo con la serie de Taylor aproximación a \mathcal{O}\left(h^{3}\right) si elegimos:
\omega_{1} + \omega_{2} = 1,
\alpha \omega_{2} = \frac{1}{2},
\beta \omega_{2} = \frac{1}{2}.
La elección canónica para el segundo orden de Runge–Kutta es \alpha = \beta = 1 \omega_{1} = \omega_{2} = 1/2.
El mismo procedimiento puede ser utilizado para encontrar las restricciones sobre los parámetros del cuarto orden de Runge–Kutta. La canónica de elección en este caso es el método que se describe en la pregunta.