@c Copyright (C) 1996-2022 The Octave Project Developers
@c
@c This file is part of Octave.
@c
@c Octave is free software: you can redistribute it and/or modify it
@c under the terms of the GNU General Public License as published by
@c the Free Software Foundation, either version 3 of the License, or
@c (at your option) any later version.
@c
@c Octave is distributed in the hope that it will be useful, but
@c WITHOUT ANY WARRANTY; without even the implied warranty of
@c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
@c GNU General Public License for more details.
@c
@c You should have received a copy of the GNU General Public License
@c along with Octave; see the file COPYING.  If not, see
@c <https://www.gnu.org/licenses/>.

@node Ordinary Differential Equations, Differential Algebraic Equations, Quadrature, Top
@chapter Ordinary Differential Equations
@cindex ODE

@deftypefn  {} {} ODE_options (void)
@deftypefnx  {} {} ODE_options (const ODE_options &@var{opt})
@end deftypefn

@deftypefn {} ODE_options& {operator =} (const ODE_options &@var{opt})
@end deftypefn

@deftypefn {} void init (void)
@end deftypefn

@deftypefn {} void copy (const ODE_options &@var{opt})
@end deftypefn

@deftypefn {} void set_default_options (void)
@end deftypefn

@deftypefn {} void set_absolute_tolerance (double @var{val})
@end deftypefn

@deftypefn {} void set_initial_step_size (double @var{val})
@end deftypefn

@deftypefn {} void set_maximum_step_size (double @var{val})
@end deftypefn

@deftypefn {} void set_minimum_step_size (double @var{val})
@end deftypefn

@deftypefn {} void set_relative_tolerance (double @var{val})
@end deftypefn

@deftypefn {} double absolute_tolerance (void)
@deftypefnx {} double initial_step_size (void)
@deftypefnx {} double maximum_step_size (void)
@deftypefnx {} double minimum_step_size (void)
@deftypefnx {} double relative_tolerance (void)
@end deftypefn

@deftypefn  {} {} ODE (void)
@deftypefnx  {} {} ODE (int @var{n})
@deftypefnx  {} {} ODE (const ColumnVector &@var{state}, double @var{time}, const ODEFunc &@var{f})
@end deftypefn

@deftypefn {} {virtual int} size (void) const
@end deftypefn

@deftypefn {} {virtual ColumnVector} state (void) const
@end deftypefn

@deftypefn {} {virtual double} time (void) const
@end deftypefn

@deftypefn {} {virtual void} force_restart (void)
@end deftypefn

@deftypefn {} {virtual void} initialize (const ColumnVector &@var{x}, double @var{t})
@end deftypefn

@deftypefn {} {virtual void} set_stop_time (double @var{t})
@end deftypefn

@deftypefn {} {virtual void} clear_stop_time (void)
@end deftypefn

@deftypefn {} {virtual ColumnVector} integrate (double @var{t})
@end deftypefn

@deftypefn {} void integrate (int @var{nsteps}, double @var{tstep}, ostream &@var{s})
@end deftypefn

@deftypefn {} Matrix integrate (const ColumnVector &@var{tout})
@deftypefnx {} Matrix integrate (const ColumnVector &@var{tout}, const ColumnVector &@var{tcrit})
@end deftypefn
