1 #include <octave/oct.h>
2 
3 DEFUN_DLD (oregonator, args, ,
4            "The 'oregonator'.\n\
5 \n\
6 Reference:\n\
7 \n\
8   Oscillations in chemical systems.  IV.  Limit cycle behavior in a\n\
9   model of a real chemical reaction. Richard J. Field and Richard\n\
10   M. Noyes, The Journal of Chemical Physics, Volume 60 Number 5,\n\
11   March 1974.")
12 {
13   ColumnVector dx (3);
14 
15   ColumnVector x (args(0).vector_value ());
16 
17   dx(0) = 77.27 * (x(1) - x(0)*x(1) + x(0) - 8.375e-06*pow (x(0), 2.0));
18   dx(1) = (x(2) - x(0)*x(1) - x(1)) / 77.27;
19   dx(2) = 0.161*(x(0) - x(2));
20 
21   return octave_value (dx);
22 }
23