The numerical solution of ordinary differential equations uses finite computations to approximate solutions of ordinary
differential equations. In an initial value
problem, an equation specifies the derivative
of
with respect to
, and a value
specifies the starting state. Many methods advance
the approximation
at time
to a new approximation at
.
The Euler forward method uses the rate at the start of the step,
A Runge-Kutta method combines evaluations at several trial states to improve accuracy. Adaptive methods use an estimate of the
error to choose the step size. When depends only on
, advancing
reduces to numerical
integration of a known function. In general, the
rate also depends on the unknown state, so the solver must approximate that state
during the calculation (Hairer et al. 1993).
In the Wolfram Language, NDSolve and NDSolveValue compute numerical solutions and represent the result by interpolating functions.