Ordinary Differential Equations | Vose Software

# Ordinary Differential Equations

### An ordinary differential equation describes the rate of change of some variable as a function of other variables or constants. For example, imagine that a population p grows by 35% in each generation, then this can be represented by the following differential equation:

where t is in units of a generation (e.g. 30 years). If we know the size of the population at some moment (its initial value, call it P0), we can make a prediction of its value PT at any future moment T by integration, resulting in:

This formula represents exponential growth. Most systems we wish to model, however, are more complex and there does not exist a pure mathematical formula for their integration. This is particularly the case when there are two or more variables that interact with each other. Thus, we tend to revert to using numerical methods.

The simplest numerical method is Euler’s. Equation 1 is converted to describe a small change in time t:

Starting with a value and , the Euler method performs a loop to calculate the value of p at each additional increment of time:

If we want to make a projection for T = 5 (five generations) then the loop is repeated n = 500 times . The degree of accuracy of the Euler method is determined by how large n is. In the figure below, the results from  t values of 0.1, 0.01, and 0.001 are compared against the known true value from the exact equation . The panel on the right zooms in on the end of the sequences and shows that the smaller  the value of ∆t the closer the more accurate the result.

The looping small step approach of the Euler method is easily adapted to more complex ODE’s that have no solution in calculus and to systems of equations too.

ModelRisk’s ODE tool can evaluate a set of ordinary differential equations sharing a common independent differentiator (usually time, t). It includes perturbations (shocks) to the values of the variables too. It uses the fourth order Runga-Kutta method (also known as RK4) for generating projections, a more sophisticated  method based on the same principles as the Euler method, because of RK4’s much greater accuracy and computational efficiency.