Runge–Kutta–Fehlberg Method
   HOME

TheInfoList



OR:

In
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, the Runge–Kutta–Fehlberg method (or Fehlberg method) is an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
in
numerical analysis Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
for the numerical solution of ordinary differential equations. It was developed by the German mathematician
Erwin Fehlberg Erwin may refer to: People Given name * Erwin Chargaff (1905–2002), Austrian biochemist * Erwin Dold (1919–2012), German concentration camp commandant in World War 2 * Erwin Hauer (1926–2017), Austrian-born American sculptor * Egon Erwin Kis ...
and is based on the large class of
Runge–Kutta methods In numerical analysis, the Runge–Kutta methods ( ) are a family of implicit and explicit iterative methods, which include the Euler method, used in temporal discretization for the approximate solutions of simultaneous nonlinear equations. The ...
. The novelty of Fehlberg's method is that it is an embedded method from the Runge–Kutta family, meaning that identical function evaluations are used in conjunction with each other to create methods of varying order and similar error constants. The method presented in Fehlberg's 1969 paper has been dubbed the RKF45 method, and is a method of order O(''h''4) with an error estimator of order O(''h''5). By performing one extra calculation, the error in the solution can be estimated and controlled by using the higher-order embedded method that allows for an
adaptive stepsize In mathematics and numerical analysis, an adaptive step size is used in some methods for the numerical solution of ordinary differential equations (including the special case of numerical integration) in order to control the errors of the method ...
to be determined automatically.


Butcher tableau for Fehlberg's 4(5) method

Any Runge–Kutta method is uniquely identified by its
Butcher tableau A butcher is a person who may slaughter animals, dress their flesh, sell their meat, or participate within any combination of these three tasks. They may prepare standard cuts of meat and poultry for sale in retail or wholesale food establishm ...
. The embedded pair proposed by Fehlberg refer to The first row of coefficients at the bottom of the table gives the fifth-order accurate method, and the second row gives the fourth-order accurate method.


Implementing an RK4(5) Algorithm

The coefficients found by Fehlberg for Formula 1 (derivation with his parameter α2=1/3) are given in the table below, using array indexing of base 1 instead of base 0 to be compatible with most computer languages: The coefficients in the below table do not work. Fehlberg outlines a solution to solving a system of ''n'' differential equations of the form: \frac = f_i(x,y_1,y_2, \ldots, y_n), i=1,2,\ldots,n to iterative solve for y_i(x+h), i=1,2,\ldots,n where ''h'' is an
adaptive stepsize In mathematics and numerical analysis, an adaptive step size is used in some methods for the numerical solution of ordinary differential equations (including the special case of numerical integration) in order to control the errors of the method ...
to be determined algorithmically: The solution is the
weighted average The weighted arithmetic mean is similar to an ordinary arithmetic mean (the most common type of average), except that instead of each of the data points contributing equally to the final average, some data points contribute more than others. The ...
of six increments, where each increment is the product of the size of the interval, h, and an estimated slope specified by function ''f'' on the right-hand side of the differential equation. \begin k_1&=h\cdot f(x+A(1) \cdot h,y) \\ k_2&=h\cdot f(x+A(2)\cdot h,y+B(2,1)\cdot k_1) \\ k_3&=h\cdot f(x+A(3)\cdot h, y+B(3,1)\cdot k_1+B(3,2)\cdot k_2 ) \\ k_4&=h\cdot f(x+A(4)\cdot h, y+B(4,1)\cdot k_1+B(4,2)\cdot k_2+B(4,3)\cdot k_3 ) \\ k_5&=h\cdot f(x+A(5)\cdot h, y+B(5,1)\cdot k_1+B(5,2)\cdot k_2+B(5,3)\cdot k_3+B(5,4)\cdot k_4 ) \\ k_6&=h\cdot f(x+A(6)\cdot h, y+B(6,1)\cdot k_1+B(6,2)\cdot k_2+B(6,3)\cdot k_3+B(6,4)\cdot k_4+B(6,5) \cdot k_5) \end Then the weighted average is: y(x+h)=y(x) + CH(1) \cdot k_1 + CH(2) \cdot k_2 + CH(3) \cdot k_3 + CH(4) \cdot k_4 + CH(5) \cdot k_5 + CH(6) \cdot k_6 The estimate of the truncation error is: \mathrm = \left, \mathrm(1) \cdot k_1 + \mathrm(2) \cdot k_2 + \mathrm(3) \cdot k_3 + \mathrm(4) \cdot k_4 + \mathrm(5) \cdot k_5 + \mathrm(6) \cdot k_6\ At the completion of the step, a new stepsize is calculated: h_ = 0.9 \cdot h \cdot \left ( \frac \right )^ If \mathrm > \varepsilon, then replace h with h_ and repeat the step. If TE\leqslant\varepsilon, then the step is completed. Replace h with h_ for the next step. The coefficients found by Fehlberg for Formula 2 (derivation with his parameter α2 = 3/8) are given in the table below, using array indexing of base 1 instead of base 0 to be compatible with most computer languages: In another table in Fehlberg, coefficients for an RKF4(5) derived by D. Sarafyan are given:


See also

*
List of Runge–Kutta methods Runge–Kutta methods are methods for the numerical solution of the ordinary differential equation :\frac = f(t, y). Explicit Runge–Kutta methods take the form :\begin y_ &= y_n + h \sum_^s b_i k_i \\ k_1 &= f(t_n, y_n), \\ k_2 &= f(t_n+c_2h ...
*
Numerical methods for ordinary differential equations Numerical methods for ordinary differential equations are methods used to find numerical approximations to the solutions of ordinary differential equations (ODEs). Their use is also known as "numerical integration", although this term can also ...
*
Runge–Kutta methods In numerical analysis, the Runge–Kutta methods ( ) are a family of implicit and explicit iterative methods, which include the Euler method, used in temporal discretization for the approximate solutions of simultaneous nonlinear equations. The ...


Notes


References

* Fehlberg, Erwin (1968) ''Classical fifth-, sixth-, seventh-, and eighth-order Runge-Kutta formulas with stepsize control''. NASA Technical Report 287. https://ntrs.nasa.gov/api/citations/19680027281/downloads/19680027281.pdf * Fehlberg, Erwin (1969) ''Low-order classical Runge-Kutta formulas with stepsize control and their application to some heat transfer problems''. Vol. 315. National aeronautics and space administration. * * Fehlberg, Erwin (1970) Some experimental results concerning the error propagation in Runge-Kutta type integration formulas. NASA Technical Report R-352. https://ntrs.nasa.gov/api/citations/19700031412/downloads/19700031412.pdf * Fehlberg, Erwin (1970). "Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung auf Wärmeleitungsprobleme," ''Computing (Arch. Elektron. Rechnen)'', vol. 6, pp. 61–71. * * Sarafyan, Diran (1966) ''Error Estimation for Runge-Kutta Methods Through Pseudo-Iterative Formulas''. Technical Report No. 14, Louisiana State University in New Orleans, May 1966.


Further reading

* * * * * . * . * . * * {{DEFAULTSORT:Runge-Kutta-Fehlberg method Numerical differential equations Runge–Kutta methods Numerical analysis