| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# CS::Math::Ode45 Class Reference

Embedded Runge-Kutta 4/5th order ODE solver for non-stiff ODEs. More...

`#include <csgeom/odesolver.h>`

List of all members.

## Static Public Member Functions
template<typename FuncType, typename ArgType>
static ArgType | Step (FuncType &f, ArgType h, ArgType t0, ArgType y0, ArgType &yout)
| Step system a single step with step length h.
template<typename FuncType, typename ArgType>
static float | Step (FuncType &f, ArgType h, ArgType t0, csVector3 y0, csVector3 &yout)
| Step system a single step with step length h.
template<typename FuncType, typename ArgType>
static ArgType | Step (FuncType &f, ArgType h, ArgType t0, ArgType *y0, ArgType *yout, size_t size)
| Step system a single step with step length h.

## Detailed Description

Embedded Runge-Kutta 4/5th order ODE solver for non-stiff ODEs.

Solve the system

y' = f(t, y)

where y (and y') are scalar or vector.

For reference, see: "Ordinary and partial differential equation routines in C, C++, Fortran, Java, Maple and MATLAB" by H.J. Lee & W.E. Schiesser

Definition at line 46 of file odesolver.h.

## Member Function Documentation

template<typename FuncType, typename ArgType>

static ArgType CS::Math::Ode45::Step | ( | FuncType & | f,
|  | ArgType | h,
|  | ArgType | t0,
|  | ArgType | y0,
|  | ArgType & | yout |
| ) |  |  | `[inline, static]`

Step system a single step with step length h.

Parameters:

  | f | Function in y' = f(t, y)
  | h | Step length
  | t0 | Initial time
  | y0 | Initial y value
  | yout | Resulting y value

Returns:
  Error estimate

Definition at line 241 of file odesolver.h.

template<typename FuncType, typename ArgType>

static float CS::Math::Ode45::Step | ( | FuncType & | f,
|  | ArgType | h,
|  | ArgType | t0,
|  | csVector3 | y0,
|  | csVector3 & | yout |
| ) |  |  | `[inline, static]`

Step system a single step with step length h.

Parameters:

  | f | Function in y' = f(t, y)
  | h | Step length
  | t0 | Initial time
  | y0 | Initial y value
  | yout | Resulting y value

Returns:
  Error estimate

Definition at line 177 of file odesolver.h.

References csVector3::Norm().

template<typename FuncType, typename ArgType>

static ArgType CS::Math::Ode45::Step | ( | FuncType & | f,
|  | ArgType | h,
|  | ArgType | t0,
|  | ArgType * | y0,
|  | ArgType * | yout,
|  | size_t | size |
| ) |  |  | `[inline, static]`

Step system a single step with step length h.

Parameters:

  | f | Function in y' = f(t, y)
  | h | Step length
  | t0 | Initial time
  | y0 | Initial y value
  | yout | Resulting y value
  | size | Number of elements in y0 and yout

Returns:
  Error estimate

Definition at line 62 of file odesolver.h.

References CS_ALLOC_STACK_ARRAY.

The documentation for this class was generated from the following file:

- csgeom/odesolver.h