# 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;
40. the Knee problem,
neqn = 1,
y' = y*(y-t)/eps;

### 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.

FLAME_ODE, a MATLAB library which considers an ordinary differential equation (ODE) which models the growth of a ball of flame in a combustion process.

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.

### 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.

### 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 23 February 2013.