¿Qué es el método Runge-Kuta de ecuaciones diferenciales y cómo se usa?

Tecnicamente hablando. Runge-Kutta es una familia de métodos.
Se usa para resolver numéricamente ciertas ecuaciones como las siguientes.
Supongamos que tenemos una derivada de [math] y [/ math] o [math] y ‘[/ math].
Y tenemos un punto de partida. [matemáticas] f (0) = 6 [/ matemáticas]
Ahora lo que pasa es que no todas las ecuaciones diferenciales como [math] y ‘= f (t, y) [/ math] son ​​agradables de resolver. Los matemáticos dirán que no se pueden resolver con funciones elementales.
Básicamente no puedes encontrar una buena función tal que [math] f (t) = y [/ math]
No podemos encontrar [math] f (t) [/ math] de [math] f ‘(t) [/ math].
Entonces, en lugar de eso, intentamos la manera fácil.
Con los métodos RK, comenzamos con un punto y una ecuación que describe la pendiente.

Básicamente un punto de partida y una descripción del cambio en la función.
Los métodos RK de primer orden, generalmente llamados método de Euler.
se define de tal manera que
[matemáticas] y_ {n + 1} = y_ {n} + h * y ‘[/ matemáticas]
[matemáticas] t_ {n + 1} = t_ {n} + h [/ matemáticas]
Básicamente comenzamos en (t, y), calculamos dónde debería estar el siguiente punto en relación con el primero. Luego calcule el siguiente punto.

Crédito para presentar: Euler method.svg

El problema con este método es que generalmente no es correcto. Tomar pasos más pequeños puede aumentar la cercanía de la función, pero generalmente será demasiado alta o demasiado baja.

La pregunta era cómo mejorar esa pendiente.
Bueno, como dije, la opción 1 es tomar pasos más pequeños.
Pero hay otra opción, tratar de encontrar mejores pendientes que juzguen con mayor precisión la pendiente promedio entre dos puntos.

El método RK específico que generalmente se llama el método “Runge-Kutta” es el método Runge-Kutta de cuarto orden, o a menudo llamado RK4, toma 4 pendientes diferentes y las promedia.

[matemáticas] k_ {1} = f (t_ {n}, y_ {n}) [/ matemáticas]
[matemáticas] k_ {2} = f (t_ {n} + \ frac {h} {2}, y_ {n} + \ frac {h} {2} k_ {1}) [/ matemáticas]
[matemáticas] k_ {3} = f (t_ {n} + \ frac {h} {2}, y_ {n} + \ frac {h} {2} k_ {2}) [/ matemáticas]
[matemáticas] k_ {4} = f (t_ {n} + h, y_ {n} + h * k_ {3}) [/ matemáticas]
[matemáticas] y_ {n + 1} = y_ {n} + \ frac {h} {6} (k_ {1} + 2k_ {2} + 2k_ {3} + k_ {4}) [/ matemáticas]
[matemáticas] x_ {n + 1} = x_ {n} + h [/ matemáticas]