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 toward finding 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 a function curve's next approximation. If you know the exact solution, you can enter it as well, and the calculator calculates an absolute error of each method.

You can find a theory below the calculator.

PLANETCALC, Explicit Runge–Kutta methods

Explicit Runge–Kutta methods

Digits after the decimal point: 6
Differential equation
 
Exact solution
 
The file is very large. Browser slowdown may occur during loading and creation.

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
where
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
PLANETCALC, Explicit Runge–Kutta methods

Comments