Explicit Runge–Kutta methods

This online calculator implements several explicit Runge-Kutta methods so you can compare how they solve first degree differential equation with a given initial value.

Runge–Kutta methods are the methods for the numerical solution of the ordinary differential equation (numerical differentiation). The methods start from an initial point and then take a short step forward to find the next solution point. Here you can find online implementation of 11 explicit Runge-Kutta methods listed here, including Forward Euler method, Midpoint method and classic RK4 method.

To use the calculator you should have differential equation in the form y \prime = f(x,y) and enter the right side of the equation - f(x,y) in the y \prime field below.
You also need initial value as y(x_0)=y_0 and the point x for which you want to approximate the y value.
The last parameter of a method - a step size, is literally a step to compute next approximation of a function curve. If you know the exact solution, you can enter it as well, and the calculator calculates an absolute error of each method.

Some theory can be found below the calculator.

PLANETCALC, Explicit Runge–Kutta methods

Explicit Runge–Kutta methods

Digits after the decimal point: 6
Differential equation
Exact solution

Explicit Runge–Kutta methods

The general form of explicit Runge-Kutta method is
y_{n+1}=y_n+h \sum_{i=1}^s b_i k_i
k_i=f(x_n+c_i h, y_n+h\sum_{j=1}^{i-1}a_{ij}k_j)

A particular method is specified by providing the integer s (the number of stages), and the coefficients a_{ij} (for 1 ≤ j < i ≤ s), called the Runge-Kutta matrix, b_i (for i = 1, 2, ..., s), called weights, and c_i (for i = 2, 3, ..., s), called nodes. Coefficients are usually arranged in a mnemonic form, known as a Butcher tableau (after John C. Butcher):

\begin{array}{c|cccc}c_1    & a_{11} & a_{12}& \dots & a_{1s}\\c_2    & a_{21} & a_{22}& \dots & a_{2s}\\\vdots & \vdots & \vdots& \ddots& \vdots\\c_s    & a_{s1} & a_{s2}& \dots & a_{ss} \\\hline& b_1    & b_2   & \dots & b_s\\\end{array}

Here are some examples of a Butcher tableau with s equals to 1, 2, 3 and 4 respectively:

Forward Euler method

\begin{array}{c|c}0 & 0 \\\hline& 1 \\\end{array}

Explicit midpoint method

\begin{array}{c|cc}0   & 0   & 0  \\1/2 & 1/2 & 0  \\\hline& 0   & 1  \\\end{array}

Third-order Strong Stability Preserving Runge-Kutta (SSPRK3)

{\displaystyle {\begin{array}{c|ccc}0&0&0&0\\1&1&0&0\\1/2&1/4&1/4&0\\\hline &1/6&1/6&2/3\\\end{array}}}

RK4 method

\begin{array}{c|cccc}0   & 0   & 0   & 0   & 0\\1/2 & 1/2 & 0   & 0   & 0\\1/2 & 0   & 1/2 & 0   & 0\\1   & 0   & 0   & 1   & 0\\\hline& 1/6 & 1/3 & 1/3 & 1/6\\\end{array}
URL copied to clipboard
Creative Commons Attribution/Share-Alike License 3.0 (Unported) PLANETCALC, Explicit Runge–Kutta methods