image thumbnail

RKN1210 - A 12th/10th order Runge-Kutta-Nyström integrator

version 2.1 (40.9 KB) by Rody Oldenhuis
Integrator for second-order ODE's with very stringent error tolerances.


Updated 02 May 2020

From GitHub

View license on GitHub

RKN1210 12th/10th order Runge-Kutta-Nyström integrator
RKN1210() is a 12th/10th order variable-step numerical integrator for second-order ordinary differential equations of the form
y'' = f(t, y) (1)
with initial conditions

y(t0) = y0
y'(t0) = yp0 (2)

This second-order differential equation is integrated with a Runge-Kutta-Nyström method using 17 function evaluations per step. RKN12(10) is a very high-order method, to be used in problems with *extremely* stringent error tolerances.

The RKN-class of integrators is especially suited for problems of type (1). Compared to a classic Runge-Kutta integration scheme, the same accuracy can be obtained with fewer function evaluations. Also, it has been shown in various studies that this particular integration method is overall more efficient than (symplectic) multi-step or extrapolation methods that give the same accuracy.

RKN1210's behavior is very similar MATLAB's ODE-integrator suite; you can set options via ODESET, and input and output values are also practically the same.

Both output functions and event functions are fully supported.

The construction of RKN12(10) is described in
High-Order Embedded Runge-Kutta-Nyström Formulae
IMA Journal of Numerical Analysis (1987) 7, 423-430

Coefficients obtained from
These are also available in any format on request to these authors.

Cite As

Rody Oldenhuis (2021). RKN1210 - A 12th/10th order Runge-Kutta-Nyström integrator (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: rkn86

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.