RungeKuttaJS
JavaScript implementation of the classic Runge-Kutta method (RK4)
Key notes / highlights
- Solves ordinary diffenrential equations numerically
- Less error prone than a Euler integration
- Works with single equations and systems of equations
- Minimal implementation
Install
$ npm install runge-kutta
Usage
Suppose you want to predict the spread of a viral disease. The SIR model could be implemented and solved with the following four lines of code.
; // Setup parameters for the transmission speed (T)// and the recovery rate R (R).// This corresponds to a basic reproduction number equal to 3// ~ T/R.const T = 2143 R = 1/14;// Define the set of ordinary differential equations.const dSIR = -T * y0 * y1 T * y0 - R * y1 R * y1; // Solve the system and log the result (reduced to the infection count).console;
API
Methods
rungeKutta
► rungeKutta(ODE
: initialValueFunction, initialCondition
: number | number[], range
: readonly [number, number], stepSize
= 1): number[] | number[][]
Solves the the initial value problem given through ODE
. It is specified through a function taking in a number for the undependent variable and a number or an array of numbers for the dependent variable(s):
type any;type number;type number;
If the initialCondition
is a number (or an array containg one number) the rungeKutta
assumes a single variable problem, otherwise a multi variable problem.
Example (Single variable problem: y' = y, y(0) = 1)
const dy = y;const approxExp = ;console;
A multi variable problem is given in the introduction.
Keywords
- math
- mathematics
- numerical
- numeric
- methods
- solve
- differential
- equation
- system
- equations
- calculus
Dependencies
Related
- nsolvejs - Solve equations numerically and regression analysis
Maintainer
- Ruben Giannotti - ruben.giannotti@gmx.net - github.com/giannotr