dwww Home | Manual pages | Find package

ODE(1)                      GNU Plotting Utilities                      ODE(1)

NAME
       ode - numerical solution of ordinary differential equations

SYNOPSIS
       ode [ options ] [ file ]

DESCRIPTION
       ode  is a tool that solves, by numerical integration, the initial value
       problem for a specified system  of  first-order  ordinary  differential
       equations.  Three distinct numerical integration schemes are available:
       Runge-Kutta-Fehlberg (the  default),  Adams-Moulton,  and  Euler.   The
       Adams-Moulton  and Runge-Kutta schemes are available with adaptive step
       size.

       The operation of ode is specified by a program, written  in  its  input
       language.   The program is simply a list of expressions for the deriva-
       tives of the variables to be integrated,  together  with  some  control
       statements.  Some examples are given in the EXAMPLES section.

       ode  reads  the program from the specified file, or from standard input
       if no file name is given.  If reading from  standard  input,  ode  will
       stop reading and exit when it sees a single period on a line by itself.

       At each time step, the values of variables specified in the program are
       written to standard output.  So a table of  values  will  be  produced,
       with  each  column  showing  the evolution of a variable.  If there are
       only two columns, the output can be piped  to  graph(1)  or  a  similar
       plotting program.

OPTIONS
   Input Options
       -f file
       --input-file file
              Read  input  from file before reading from standard input.  This
              option makes it possible to work interactively, after reading  a
              program  fragment  that defines the system of differential equa-
              tions.

   Output Options
       -p prec
       --precision prec
              When printing numerical results,  use  prec  significant  digits
              (the  default  is 6).  If this option is given, the print format
              will be scientific notation.

       -t
       --title
              Print a title line at the head of the output, naming  the  vari-
              ables in each column.  If this option is given, the print format
              will be scientific notation.

   Integration Scheme Options
       The following options specify the numerical integration  scheme.   Only
       one  of  the  three basic options -R, -A, -E may be specified.  The de-
       fault is -R (Runge-Kutta-Fehlberg).

       -R [stepsize]
       --runge-kutta [stepsize]
              Use a fifth-order Runge-Kutta-Fehlberg algorithm, with an  adap-
              tive  stepsize  unless a constant stepsize is specified.  When a
              constant stepsize is specified and  no  error  analysis  is  re-
              quested,  then  a  classical  fourth-order Runge-Kutta scheme is
              used.

       -A [stepsize]
       --adams-moulton [stepsize]
              Use a  fourth-order  Adams-Moulton  predictor-corrector  scheme,
              with  an adaptive stepsize unless a constant stepsize, stepsize,
              is specified.  The Runge-Kutta-Fehlberg algorithm is used to get
              past `bad' points (if any).

       -E [stepsize]
       --euler [stepsize]
              Use  a `quick and dirty' Euler scheme, with a constant stepsize.
              The default value of stepsize is 0.1.  Not recommended for seri-
              ous applications.

              The error bound options -r and -e (see below) may not be used if
              -E is specified.

       -h hmin [hmax]
       --step-size-bound hmin [hmax]
              Use a lower bound hmin on the stepsize.   The  numerical  scheme
              will  not let the stepsize go below hmin.  The default is to al-
              low the stepsize to shrink to the machine limit, i.e., the mini-
              mum nonzero double-precision floating point number.

              The  optional  argument  hmax,  if included, specifies a maximum
              value for the stepsize.  It is useful in preventing the  numeri-
              cal routine from skipping quickly over an interesting region.

   Error Bound Options
       -r rmax [rmin]
       --relative-error-bound rmax [rmin]
              The  -r  option  sets an upper bound on the relative single-step
              error.  If the -r option is used, the relative single-step error
              in  any  dependent  variable will never exceed rmax (the default
              for which is 10^-9).  If this should occur, the solution will be
              abandoned and an error message will be printed.  If the stepsize
              is not constant, the stepsize will be decreased `adaptively', so
              that  the  upper bound on the single-step error is not violated.
              Thus, choosing a smaller upper bound on  the  single-step  error
              will  cause  smaller stepsizes to be chosen.  A lower bound rmin
              may optionally be specified, to suggest when the stepsize should
              be increased (the default for rmin is rmax/1000).

       -e emax [emin]
       --absolute-error-bound emax [emin]
              Similar  to -r, but bounds the absolute rather than the relative
              single-step error.

       -s
       --suppress-error-bound
              Suppress the ceiling on single-step error, allowing ode to  con-
              tinue  even  if  this  ceiling  is exceeded.  This may result in
              large numerical errors.

   Informational Options
       --help Print a list of command-line options, and exit.

       --version
              Print the version number of ode and the plotting utilities pack-
              age, and exit.

DIAGNOSTICS
       Mostly  self-explanatory.   The  biggest  exception  is `syntax error',
       meaning there is a grammatical error.  Language error messages  are  of
       the form

              ode: nnn: message...

       where  `nnn'  is the number of the input line containing the error.  If
       the -f option is used, the phrase "(file)" follows the `nnn' for errors
       encountered inside the file.  Subsequently, when ode begins reading the
       standard input, line numbers start over from 1.

       No effort is made to recover successfully from syntactic errors in  the
       input.  However, there is a meager effort to resynchronize so more than
       one error can be found in one scan.

       Run-time errors elicit a message describing the problem, and the  solu-
       tion is abandoned.

EXAMPLES
       The program

              y' = y
              y = 1
              print t, y
              step 0, 1

       solves an initial value problem whose solution is y=e^t.  When ode runs
       this program, it will write two columns of numbers to standard  output.
       Each  line  will  show the value of the independent variable t, and the
       variable y, as t is stepped from 0 to 1.

       A more sophisticated example would be

              sine' = cosine
              cosine' = -sine
              sine = 0
              cosine = 1
              print t, sine
              step 0, 2*PI

       This program solves an initial value problem for a system of  two  dif-
       ferential equations.  The initial value problem turns out to define the
       sine and cosine functions.  The program steps the system  over  a  full
       period.

AUTHORS
       ode  was  written by Nicholas B. Tufillaro (nbt@reed.edu), and slightly
       enhanced by Robert S. Maier (rsm@math.arizona.edu) to merge it into the
       GNU plotting utilities.

SEE ALSO
       "The GNU Plotting Utilities Manual".

BUGS
       Email bug reports to bug-gnu-utils@gnu.org.

FSF                                Dec 1998                             ODE(1)

Generated by dwww version 1.15 on Mon Jun 24 02:46:20 CEST 2024.