rk4


rk4, a C++ code which implements a fourth-order Runge-Kutta method to solve an ordinary differential equation (ODE).

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

Languages:

rk4 is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and an Octave version and a Python version and an R version.

Related Data and Programs:

lorenz_ode, a C++ code which approximates solutions to the Lorenz system, creating output files that can be displayed by gnuplot.

midpoint_explicit, a C++ code which solves one or more ordinary differential equations (ODE) using the (explicit) midpoint method.

midpoint_fixed, a C++ code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, using a fixed point method for the implicit equation.

ode, a C++ code which solves a system of ordinary differential equations, by Shampine and Gordon.

rk4_test

rkf45, a C++ code which implements the Runge-Kutta-Fehlberg ODE solver.

spring_ode, a C++ code which shows how line printer graphics can be used to make a crude illustration of a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.

stiff_ode, a C++ code which considers an ordinary differential equation (ODE) which is an example of a stiff ODE.

Reference:

  1. Erwin Fehlberg,
    Low-order Classical Runge-Kutta Formulas with Stepsize Control,
    NASA Technical Report R-315, 1969.
  2. Lawrence Shampine, Herman Watts, S Davenport,
    Solving Non-stiff Ordinary Differential Equations - The State of the Art,
    SIAM Review,
    Volume 18, pages 376-411, 1976.

Source Code:


Last revised on 22 April 2020.