GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
LSODE.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 1996-2018 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software: you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <https://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if ! defined (octave_LSODE_h)
24 #define octave_LSODE_h 1
25 
26 #include "octave-config.h"
27 
28 #include <string>
29 
30 #include "Array.h"
31 #include "LSODE-opts.h"
32 
33 class
34 OCTAVE_API
35 LSODE : public ODE, public LSODE_options
36 {
37 public:
38 
39  LSODE (void)
40  : ODE (), LSODE_options (), initialized (false), method_flag (0),
41  itask (0), iopt (0), itol (0), liw (0), lrw (0),
42  iwork (), rwork (), rel_tol (0.0), abs_tol () { }
43 
44  LSODE (const ColumnVector& s, double tm, const ODEFunc& f)
45  : ODE (s, tm, f), LSODE_options (), initialized (false), method_flag (0),
46  itask (0), iopt (0), itol (0), liw (0), lrw (0),
47  iwork (), rwork (), rel_tol (0.0), abs_tol () { }
48 
49  ~LSODE (void) = default;
50 
51  ColumnVector do_integrate (double t);
52 
53  Matrix do_integrate (const ColumnVector& tout);
54 
55  Matrix do_integrate (const ColumnVector& tout, const ColumnVector& tcrit);
56 
57  std::string error_message (void) const;
58 
59 private:
60 
62 
63  octave_f77_int_type method_flag;
64  octave_f77_int_type itask;
65  octave_f77_int_type iopt;
66  octave_f77_int_type itol;
67 
68  octave_f77_int_type liw;
69  octave_f77_int_type lrw;
70 
73 
74  double rel_tol;
75 
77 };
78 
79 #endif
octave_f77_int_type iopt
Definition: LSODE.h:65
Array< double > abs_tol
Definition: LSODE.h:76
bool initialized
Definition: LSODE.h:61
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE * f
OCTAVE_EXPORT octave_value_list return the number of command line arguments passed to Octave If called with the optional argument the function t
Definition: ov-usr-fcn.cc:997
s
Definition: file-io.cc:2729
Definition: LSODE.h:33
octave_f77_int_type method_flag
Definition: LSODE.h:63
Definition: ODE.h:32
octave_f77_int_type itask
Definition: LSODE.h:64
octave_f77_int_type itol
Definition: LSODE.h:66
Array< double > rwork
Definition: LSODE.h:72
LSODE(void)
Definition: LSODE.h:39
is false
Definition: cellfun.cc:400
LSODE(const ColumnVector &s, double tm, const ODEFunc &f)
Definition: LSODE.h:44
Definition: dMatrix.h:36
Array< octave_f77_int_type > iwork
Definition: LSODE.h:71
static bool initialized
Definition: defaults.cc:48
double rel_tol
Definition: LSODE.h:74
octave_f77_int_type liw
Definition: LSODE.h:68
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
Definition: utils.cc:888
octave_f77_int_type lrw
Definition: LSODE.h:69