view examples/oregonator.cc @ 14171:2ced2f59f523 stable

doc: miscellaneous documentation improvements * aspell-octave.en.pws: Add new words to spelling dictionary. * expr.txi: Use hyphens in "element-by-element" construction. * install.txi: Miscellaneous docstring improvements. * mk_undocumented_list: Update script. * xlim.m: Add ylim and zlim to function index. * data.cc: Add inf and nan to to function index. * file-io.cc: Add octave_tmp_file_name to function index. Expand docstring for SEEK_CUR and SEEK_END. * help.cc: Miscellaneous docstring improvements. * syscalls.cc: Improve docstrings for F_XXXX series of functions.
author Rik <octave@nomad.inbox5.com>
date Sun, 08 Jan 2012 13:39:44 -0800
parents 4295d634797d
children 224e76250443
line wrap: on
line source

#include <octave/oct.h>

DEFUN_DLD (oregonator, args, ,
  "The `oregonator'.\n\
\n\
Reference:\n\
\n\
  Oscillations in chemical systems.  IV.  Limit cycle behavior in a\n\
  model of a real chemical reaction. Richard J. Field and Richard\n\
  M. Noyes, The Journal of Chemical Physics, Volume 60 Number 5,\n\
  March 1974.")
{
  ColumnVector dx (3);

  ColumnVector x (args(0).vector_value ());

  dx(0) = 77.27 * (x(1) - x(0)*x(1) + x(0) - 8.375e-06*pow (x(0), 2.0));
  dx(1) = (x(2) - x(0)*x(1) - x(1)) / 77.27;
  dx(2) = 0.161*(x(0) - x(2));

  return octave_value (dx);
}