En matemáticas , el método de Runge-Kutta-Fehlberg (o método de Fehlberg ) es un algoritmo de análisis numérico para la solución numérica de ecuaciones diferenciales ordinarias . Fue desarrollado por el matemático alemán Erwin Fehlberg y se basa en la gran clase de métodos de Runge-Kutta .
La novedad del método de Fehlberg es que es un método incrustado [ definición necesaria ] de la familia Runge-Kutta , lo que significa que se utilizan evaluaciones de funciones idénticas en conjunto para crear métodos de orden variable y constantes de error similares. El método presentado en el artículo de Fehlberg de 1969 se ha denominado método RKF45 y es un método de orden O ( h 4 ) con un estimador de error de orden O ( h 5 ). [1] Al realizar un cálculo adicional, el error en la solución se puede estimar y controlar mediante el método integrado de orden superior que permite un tamaño de paso adaptativo que se determinará automáticamente.
Cuadro de carnicero para el método 4 (5) de Fehlberg
Cualquier método Runge-Kutta se identifica de forma única por su cuadro Butcher . El par incrustado propuesto por Fehlberg [2]
| 0 |
| 1/4 | 1/4 |
| 3/8 | 3/32 | 9/32 |
| 13/12 | 1932/2197 | −7200/2197 | 7296/2197 |
| 1 | 439/216 | −8 | 3680/513 | −845/4104 |
| 1/2 | −8/27 | 2 | −3544/2565 | 1859/4104 | −11/40 | |
| | 16/135 | 0 | 6656/12825 | 28561/56430 | −9/50 | 2/55 |
| | 25/216 | 0 | 1408/2565 | 2197/4104 | −1/5 | 0 |
La primera fila de coeficientes en la parte inferior de la tabla da el método exacto de quinto orden y la segunda fila da el método exacto de cuarto orden.
Esto muestra el tiempo computacional en tiempo real utilizado durante una simulación de
3 cuerpos evolucionada con el método de Runge-Kutta-Fehlberg. La mayor parte del tiempo de la computadora se gasta cuando los cuerpos pasan cerca y son susceptibles a
errores numéricos .
Implementación de un algoritmo RK4 (5)
Los coeficientes encontrados por Fehlberg para la Fórmula 1 (derivación con su parámetro α2 = 1/3) se dan en la siguiente tabla, usando la indexación de matriz de base 1 en lugar de base 0 para ser compatible con la mayoría de los lenguajes de computadora:
COEFICIENTES PARA RK4 (5), FÓRMULA 1 Tabla II en Fehlberg [2]K | ALASKA) | B (K, L) | C (K) | CH (K) | CT (K) |
---|
L = 1 | L = 2 | L = 3 | L = 4 | L = 5 |
1 | 0 | | | | | | 1/9 | 47/450 | -1/150 |
2 | 2/9 | 2/9 | 0 | 0 | 0 |
3 | 1/3 | 1/12 | 1/4 | 20/9 | 25/12 | 3/100 |
4 | 3/4 | 69/128 | -243/128 | 135/64 | 16/45 | 32/225 | -16/75 |
5 | 1 | -17/12 | 27/4 | -27/5 | 16/15 | 1/12 | 30/1 | -1/20 |
6 | 5/6 | 65/432 | -5/16 | 13/16 | 27/4 | 5/144 | | 25/6 | 25/6 |
Fehlberg [2] describe una solución para resolver un sistema de n ecuaciones diferenciales de la forma:
para resolver iterativo para
donde h es un tamaño de paso adaptativo que se determinará algorítmicamente:
La solución es el promedio ponderado de seis incrementos, donde cada incremento es el producto del tamaño del intervalo , y una pendiente estimada especificada por la función f en el lado derecho de la ecuación diferencial.
Entonces el promedio ponderado es:
La estimación del error de truncamiento es:
Al finalizar el paso, se calcula un nuevo tamaño de paso:
Si , reemplácelo con y repita el paso. Si , entonces se completa el paso. Reemplace con para el siguiente paso.
Los coeficientes encontrados por Fehlberg para la Fórmula 2 (derivación con su parámetro α2 = 3/8) se dan en la siguiente tabla, usando la indexación de matriz de base 1 en lugar de base 0 para ser compatible con la mayoría de los lenguajes de computadora:
COEFICIENTES PARA RK4 (5), FÓRMULA 2 Tabla III en Fehlberg [2]K | ALASKA) | B (K, L) | C (K) | CH (K) | CT (K) |
---|
L = 1 | L = 2 | L = 3 | L = 4 | L = 5 |
1 | 0 | | | | | | 25/216 | 16/135 | 1/360 |
2 | 1/4 | 1/4 | 0 | 0 | 0 |
3 | 3/8 | 3/32 | 9/32 | 1408/2565 | 6656/12825 | -128/4275 |
4 | 13/12 | 1932/2197 | -7200/2197 | 7296/2197 | 2197/4104 | 28561/56430 | -2197/75240 |
5 | 1 | 439/216 | -8 | 3680/513 | -845/4104 | -1/5 | -9/50 | 1/50 |
6 | 1/2 | -8/27 | 2 | -3544/2565 | 1859/4104 | -11/40 | | 2/55 | 2/55 |
En otra tabla en Fehlberg, se dan [2] coeficientes para un RKF4 (5) derivado por D. Sarafyan:
COEFICIENTES PARA Sarafyan's RK4 (5), Cuadro IV en Fehlberg [2]K | ALASKA) | B (K, L) | C (K) | CH (K) | CT (K) |
---|
L = 1 | L = 2 | L = 3 | L = 4 | L = 5 |
1 | 0 | 0 | | | | | 1/6 | 24/1 | -1/8 |
2 | 1/2 | 1/2 | 0 | 0 | 0 |
3 | 1/2 | 1/4 | 1/4 | 2/3 | 0 | -2/3 |
4 | 1 | 0 | -1 | 2 | 1/6 | 5/48 | -1/16 |
5 | 2/3 | 27/7 | 27/10 | 0 | 1/27 | | 27/56 | 27/56 |
6 | 1/5 | 28/625 | -1/5 | 546/625 | 54/625 | -378/625 | | 125/336 | 125/336 |
Ver también
Notas
- ^ Según Hairer et al. (1993, §II.4), el método fue propuesto originalmente en Fehlberg (1969); Fehlberg (1970) es un extracto de esta última publicación.
- ↑ a b c d e f Hairer, Nørsett & Wanner (1993 , p. 177) se refieren a Fehlberg (1969) harvtxt error: no target: CITEREFHairerNørsettWanner1993 (help) harvtxt error: no target: CITEREFFehlberg1969 (help)
Referencias
- Erwin Fehlberg (1968) Fórmulas clásicas de Runge-Jutta de quinto, sexto, séptimo y octavo orden con control de tamaño por pasos . Informe técnico de la NASA 287. https://ntrs.nasa.gov/api/citations/19680027281/downloads/19680027281.pdf
- Erwin Fehlberg (1969) Fórmulas clásicas de Runge-Kutta de bajo orden con control de tamaño escalonado y su aplicación a algunos problemas de transferencia de calor . Vol. 315. Administración nacional de aeronáutica y espacio.
- Erwin Fehlberg (1970) Algunos resultados experimentales sobre la propagación del error en fórmulas de integración de tipo Runge-Kutta. Informe técnico de la NASA R-352. https://ntrs.nasa.gov/api/citations/19700031412/downloads/19700031412.pdf
- Erwin Fehlberg (1970). "Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung auf Wärmeleitungsprobleme", Computación (Arch. Elektron. Rechnen) , vol. 6, págs. 61–71. doi : 10.1007 / BF02241732
- Ernst Hairer, Syvert Nørsett y Gerhard Wanner (1993). Resolución de ecuaciones diferenciales ordinarias I: problemas no rígidos , segunda edición, Springer-Verlag, Berlín. ISBN 3-540-56670-8 .
- Diran Sarafyan (1966) Estimación de errores para métodos de Runge-Kutta mediante fórmulas pseudo-iterativas . Informe técnico No. 14, Universidad Estatal de Luisiana en Nueva Orleans, mayo de 1966.
Otras lecturas
- Simos, TE (1993). Un método de Runge-Kutta Fehlberg con desfase de orden infinito para problemas de valor inicial con solución oscilante. Computadoras y matemáticas con aplicaciones, 25 (6), 95-101.
- Handapangoda, CC, Premaratne, M., Yeo, L. y Friend, J. (2008). Método Laguerre Runge-Kutta-Fehlberg para simular la propagación del pulso láser en tejido biológico. Revista IEEE de temas seleccionados en electrónica cuántica, 14 (1), 105-112.
- Paul, S., Mondal, SP y Bhattacharya, P. (2016). Solución numérica del modelo de depredador presa de Lotka Volterra utilizando el método de Runge-Kutta-Fehlberg y el método de descomposición de Laplace Adomian. Alexandria Engineering Journal, 55 (1), 613-617.
- Filiz, A. (2014). Solución numérica de la ecuación integro-diferencial lineal de Volterra mediante el método de Runge-Kutta-Fehlberg. Matemáticas aplicadas y computacionales, 3 (1), 9-14.
- Simos, TE (1995). Métodos de Runge-Kutta-Fehlberg modificados para problemas periódicos de valor inicial. Revista japonesa de matemáticas industriales y aplicadas, 12 (1), 109.
- Sarafyan, D. (1994) Solución aproximada de ecuaciones diferenciales ordinarias y sus sistemas a través de fórmulas de Runge-Kutta integradas continuas y discretas y actualización de su orden , Computadoras matemáticas. Applic. Vol. 28, núm. 10-12, págs. 353–384, 1994 https://core.ac.uk/download/pdf/82540775.pdf