TEST_ODE
Test Problems for
Initial Value Solvers


TEST_ODE is a MATLAB library which defines test initial value problems for ordinary differential equations.

These problems have the common form:

determine (some values of) the function Y(T)
given
Y'(T) = F(T,Y)
with initial value
Y(T0) = Y0

A uniform interface makes it easy to solve all the problems automatically, or to concentrate on a single one.

The problems include:

  1. Enright and Pryce #A1,
    neqn = 1,
    y' = -y;
  2. Enright and Pryce #A2,
    neqn = 1,
    y' = -y^3/2;
  3. Enright and Pryce #A3,
    neqn = 1,
    y' = cos(t)*y;
  4. Enright and Pryce #A4,
    neqn = 1,
    y' = y*(20-y)/80;
  5. Enright and Pryce #A5,
    neqn = 1,
    y' = (y-t)/(y+t);
  6. Enright and Pryce #B1,
    neqn = 2,
    y1' = 2*y1*(1-y2)
    y2' = - y2*(1-y1);
  7. Enright and Pryce #B2,
    neqn = 3,
    y1' = -y1+y2
    y2' = y1-2*y2+y3
    y3' = y2-y3;
  8. Enright and Pryce #B3,
    neqn = 3,
    y1' = -y1
    y2' = y1-y2^2
    y3' = y2^2;
  9. Enright and Pryce #B4,
    neqn = 3,
    y1' = (-y2-y1*y3) / sqrt(y1^2+y2^2)
    y2' = (y1-y2*y3) / sqrt(y1^2+y2^2)
    y3' = y1 / sqrt(y1^2+y2^2);
  10. Enright and Pryce #B5,
    neqn = 3,
    y1' = y2*y3
    y2' = -y1*y3
    y3' = -0.51*y1*y2;
  11. Enright and Pryce #C1,
    neqn = 10;
  12. Enright and Pryce #C2,
    neqn = 10;
  13. Enright and Pryce #C3,
    neqn = 10;
  14. Enright and Pryce #C4,
    neqn = 51;
  15. Enright and Pryce #C5,
    neqn = 30;
  16. Enright and Pryce #D1,
    neqn = 4;
  17. Enright and Pryce #D2,
    neqn = 4;
  18. Enright and Pryce #D3,
    neqn = 4;
  19. Enright and Pryce #D4,
    neqn = 4;
  20. Enright and Pryce #D5,
    neqn = 4;
  21. Enright and Pryce #E1,
    neqn = 2;
  22. Enright and Pryce #E2,
    neqn = 2;
  23. Enright and Pryce #E3,
    neqn = 2;
  24. Enright and Pryce #E4,
    neqn = 2;
  25. Enright and Pryce #E5,
    neqn = 2;
  26. Enright and Pryce #F1,
    neqn = 2;
  27. Enright and Pryce #F2,
    neqn = 1;
  28. Enright and Pryce #F3,
    neqn = 2;
  29. Enright and Pryce #F4,
    neqn = 1;
  30. Enright and Pryce #F5,
    neqn = 1;
  31. Lotka-Volterra Predator-Prey Equations,
    neqn = 2;
  32. The Lorenz System,
    neqn = 3;
  33. The Van der Pol equation,
    neqn = 2;
  34. The Linearized Damped Pendulum,
    neqn = 2;
  35. The Nonlinear Damped Pendulum,
    neqn = 2;
  36. Duffing's Equation,
    neqn = 2,
  37. Duffing's Equation with Damping and Forcing,
    neqn = 2;
  38. Shampine's Ball of Flame,
    neqn = 1,
    y' = y^2-y^3;
  39. Polking's First Order System,
    neqn = 1,
    y' = y^2-a*t+b;

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

TEST_ODE is available in a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

DFIELD8, a MATLAB program which interactively displays the direction field of a differential equation, by John Polking.

NMS, a FORTRAN90 library which includes the DDRIV package of ODE solvers.

ODE, a FORTRAN90 library which implements the Shampine and Allen ODE solver.

PPLANE8, a MATLAB program which interactively displays the phase plane of a differential equation, by John Polking.

RKF45, a MATLAB library which implements the Runge-Kutta-Fehlberg ODE solver.

TOMS648_NSD, a FORTRAN77 library which defines the non-stiff Enright and Pryce test ODE problems, using double precision arithmetic.

TOMS648_NSS, a FORTRAN77 library which defines the non-stiff Enright and Pryce test ODE problems, using single precision arithmetic.

References:

The following references include some reliable, sturdy, comprehensive test sets. (Sometimes I'm just doing this for fun or for classroom exercises. These people, on the other hand, are serious.)

  1. David Arnold, John Polking,
    Ordinary Differential Equations using Matlab,
    Prentice Hall, 1999.
  2. Wayne Enright, John Pryce,
    Algorithm 648,
    NSDTST and STDTST,
    ACM Transactions on Mathematical Software,
    Volume 13, Number 1, 1987, pages 28-34.
  3. T Hull, Wayne Enright, B Fellen, A Sedgwick,
    Comparing numerical methods for ordinary differential equations,
    SIAM Journal on Numerical Analysis,
    Volume 9, 1972, pages 603-637.
  4. Cleve Moler,
    Cleve's Corner: Stiff Differential Equations,
    MATLAB News and Notes,
    May 2003, pages 12-13.
  5. http://pitagora.dm.uniba.it/~testset/, Test Set for IVP Solvers.
  6. http://www.unige.ch/math/~hairer/testset/testset.html Stiff ODE test set of Hairer and Wanner.

Source Code:

Examples and Tests:

TEST_ODE_TEST04() is a function which solves and plots each of the test problems.

You can go up one level to the MATLAB source codes.


Last revised on 06 June 2011.