Mercurial > octave
annotate scripts/ode/odeset.m @ 30564:796f54d4ddbf stable
update Octave Project Developers copyright for the new year
In files that have the "Octave Project Developers" copyright notice,
update for 2021.
In all .txi and .texi files except gpl.txi and gpl.texi in the
doc/liboctave and doc/interpreter directories, change the copyright
to "Octave Project Developers", the same as used for other source
files. Update copyright notices for 2022 (not done since 2019). For
gpl.txi and gpl.texi, change the copyright notice to be "Free Software
Foundation, Inc." and leave the date at 2007 only because this file
only contains the text of the GPL, not anything created by the Octave
Project Developers.
Add Paul Thomas to contributors.in.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 Dec 2021 18:22:40 -0500 |
parents | 7854d5752dd2 |
children | e1788b1a315f |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 ## |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
3 ## Copyright (C) 2006-2022 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
4 ## |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 ## See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 ## distribution or <https://octave.org/copyright/>. |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
7 ## |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
8 ## This file is part of Octave. |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
9 ## |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23565
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
11 ## under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23565
diff
changeset
|
12 ## the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22661
diff
changeset
|
13 ## (at your option) any later version. |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
14 ## |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
15 ## Octave is distributed in the hope that it will be useful, but |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22661
diff
changeset
|
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22661
diff
changeset
|
18 ## GNU General Public License for more details. |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
19 ## |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
20 ## You should have received a copy of the GNU General Public License |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
21 ## along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23565
diff
changeset
|
22 ## <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 ## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 ######################################################################## |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
25 |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
26 ## -*- texinfo -*- |
22626 | 27 ## @deftypefn {} {@var{odestruct} =} odeset () |
20852
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20636
diff
changeset
|
28 ## @deftypefnx {} {@var{odestruct} =} odeset (@var{"field1"}, @var{value1}, @var{"field2"}, @var{value2}, @dots{}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20636
diff
changeset
|
29 ## @deftypefnx {} {@var{odestruct} =} odeset (@var{oldstruct}, @var{"field1"}, @var{value1}, @var{"field2"}, @var{value2}, @dots{}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20636
diff
changeset
|
30 ## @deftypefnx {} {@var{odestruct} =} odeset (@var{oldstruct}, @var{newstruct}) |
22626 | 31 ## @deftypefnx {} {} odeset () |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
32 ## |
20548
25623ef2ff4f
doc: Rewrite docstrings for ode* family of functions.
Rik <rik@octave.org>
parents:
20533
diff
changeset
|
33 ## Create or modify an ODE options structure. |
25623ef2ff4f
doc: Rewrite docstrings for ode* family of functions.
Rik <rik@octave.org>
parents:
20533
diff
changeset
|
34 ## |
22626 | 35 ## When called with no input argument and one output argument, return a new ODE |
36 ## options structure that contains all possible fields initialized to their | |
37 ## default values. If no output argument is requested, display a list of | |
38 ## the common ODE solver options along with their default value. | |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
39 ## |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
40 ## If called with name-value input argument pairs @var{"field1"}, |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
41 ## @var{"value1"}, @var{"field2"}, @var{"value2"}, @dots{} return a new |
22635
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
42 ## ODE options structure with all the most common option fields |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
43 ## initialized, @strong{and} set the values of the fields @var{"field1"}, |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
44 ## @var{"field2"}, @dots{} to the values @var{value1}, @var{value2}, |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
45 ## @dots{}. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
46 ## |
22635
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
47 ## If called with an input structure @var{oldstruct} then overwrite the |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
48 ## values of the options @var{"field1"}, @var{"field2"}, @dots{} with |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
49 ## new values @var{value1}, @var{value2}, @dots{} and return the |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
50 ## modified structure. |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
51 ## |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
52 ## When called with two input ODE options structures @var{oldstruct} and |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
53 ## @var{newstruct} overwrite all values from the structure |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
54 ## @var{oldstruct} with new values from the structure @var{newstruct}. |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
55 ## Empty values in @var{newstruct} will not overwrite values in |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
56 ## @var{oldstruct}. |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
57 ## |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
58 ## The most commonly used ODE options, which are always assigned a value |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23310
diff
changeset
|
59 ## by @code{odeset}, are the following: |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
60 ## |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
61 ## @table @asis |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
62 ## @item @code{AbsTol}: positive scalar | vector, def. @code{1e-6} |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
63 ## Absolute error tolerance. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
64 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
65 ## @item @code{BDF}: @{@qcode{"off"}@} | @qcode{"on"} |
22635
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
66 ## Use BDF formulas in implicit multistep methods. |
23309
a363ca94d1b7
* odeset.m: doc fix
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
23220
diff
changeset
|
67 ## @emph{Note}: This option is not yet implemented. |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
68 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
69 ## @item @code{Events}: function_handle |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23310
diff
changeset
|
70 ## Event function. An event function must have the form |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
71 ## @code{[value, isterminal, direction] = my_events_f (t, y)} |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
72 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
73 ## @item @code{InitialSlope}: vector |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
74 ## Consistent initial slope vector for DAE solvers. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
75 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
76 ## @item @code{InitialStep}: positive scalar |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
77 ## Initial time step size. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
78 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
79 ## @item @code{Jacobian}: matrix | function_handle |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
80 ## Jacobian matrix, specified as a constant matrix or a function of |
22635
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
81 ## time and state. |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
82 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
83 ## @item @code{JConstant}: @{@qcode{"off"}@} | @qcode{"on"} |
22635
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
84 ## Specify whether the Jacobian is a constant matrix or depends on the |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
85 ## state. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
86 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
87 ## @item @code{JPattern}: sparse matrix |
22635
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
88 ## If the Jacobian matrix is sparse and non-constant but maintains a |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
89 ## constant sparsity pattern, specify the sparsity pattern. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
90 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
91 ## @item @code{Mass}: matrix | function_handle |
22635
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
92 ## Mass matrix, specified as a constant matrix or a function of |
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
93 ## time and state. |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
94 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
95 ## @item @code{MassSingular}: @{@qcode{"maybe"}@} | @qcode{"yes"} | @qcode{"on"} |
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
96 ## Specify whether the mass matrix is singular. |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
97 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
98 ## @item @code{MaxOrder}: @{@qcode{5}@} | @qcode{4} | @qcode{3} | @qcode{2} | @qcode{1} |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
99 ## Maximum order of formula. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
100 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
101 ## @item @code{MaxStep}: positive scalar |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
102 ## Maximum time step value. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
103 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
104 ## @item @code{MStateDependence}: @{@qcode{"weak"}@} | @qcode{"none"} | @qcode{"strong"} |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
105 ## Specify whether the mass matrix depends on the state or only on time. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
106 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
107 ## @item @code{MvPattern}: sparse matrix |
22635
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
108 ## If the mass matrix is sparse and non-constant but maintains a |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
109 ## constant sparsity pattern, specify the sparsity pattern. |
23310
55f1132aab20
* odeset.m: more doc fixes
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
23309
diff
changeset
|
110 ## @emph{Note}: This option is not yet implemented. |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
111 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
112 ## @item @code{NonNegative}: scalar | vector |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
113 ## Specify elements of the state vector that are expected to remain |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23310
diff
changeset
|
114 ## non-negative during the simulation. |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
115 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
116 ## @item @code{NormControl}: @{@qcode{"off"}@} | @qcode{"on"} |
22635
aace27d19162
Improve docstring of odeset.m
Nir Krakauer <nkrakauer@ccny.cuny.edu>
parents:
22634
diff
changeset
|
117 ## Control error relative to the 2-norm of the solution, rather than its |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
118 ## absolute value. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
119 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
120 ## @item @code{OutputFcn}: function_handle |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23310
diff
changeset
|
121 ## Function to monitor the state during the simulation. For the form of |
28958
6fd6ad758b10
doc: Use @xref, @pxref rather than "see @code{}" in TexInfo.
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
122 ## the function to use @pxref{XREFodeplot,,@code{odeplot}}. |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
123 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
124 ## @item @code{OutputSel}: scalar | vector |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
125 ## Indices of elements of the state vector to be passed to the output |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
126 ## monitoring function. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
127 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
128 ## @item @code{Refine}: positive scalar |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
129 ## Specify whether output should be returned only at the end of each |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23310
diff
changeset
|
130 ## time step or also at intermediate time instances. The value should be |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
131 ## a scalar indicating the number of equally spaced time points to use |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
132 ## within each timestep at which to return output. |
23310
55f1132aab20
* odeset.m: more doc fixes
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
23309
diff
changeset
|
133 ## @emph{Note}: This option is not yet implemented. |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
134 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
135 ## @item @code{RelTol}: positive scalar |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
136 ## Relative error tolerance. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
137 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
138 ## @item @code{Stats}: @{@qcode{"off"}@} | @qcode{"on"} |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
139 ## Print solver statistics after simulation. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
140 ## |
25900
22f6cb277893
doc: Improve odeset documentation (bug #49360).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
25054
diff
changeset
|
141 ## @item @code{Vectorized}: @{@qcode{"off"}@} | @qcode{"on"} |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23310
diff
changeset
|
142 ## Specify whether @code{odefun} can be passed multiple values of the |
22633
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
143 ## state at once. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
144 ## |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
145 ## @end table |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
146 ## |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
147 ## Field names that are not in the above list are also accepted and |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
148 ## added to the result structure. |
b9f31d41ab66
Improve documentation for odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22632
diff
changeset
|
149 ## |
20548
25623ef2ff4f
doc: Rewrite docstrings for ode* family of functions.
Rik <rik@octave.org>
parents:
20533
diff
changeset
|
150 ## @seealso{odeget} |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
151 ## @end deftypefn |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
152 |
20553
45151de7423f
maint: Clean up implementations of ode45.m, odeget.m, odeset.m.
Rik <rik@octave.org>
parents:
20549
diff
changeset
|
153 function odestruct = odeset (varargin) |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
154 |
22593
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
155 persistent p; |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
156 |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
157 if (isempty (p)) |
22632
0b21aece4b93
odeset.m: Update FIXME notes about non-exact matching (bug #49364).
Rik <rik@octave.org>
parents:
22626
diff
changeset
|
158 ## FIXME: Add an inexact match option once it is available in inputParser. |
22636
c44d57c0a925
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
22635
diff
changeset
|
159 ## See bug #49364. |
22593
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
160 p = inputParser (); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
161 p.addParameter ("AbsTol", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
162 p.addParameter ("BDF", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
163 p.addParameter ("Events", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
164 p.addParameter ("InitialSlope", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
165 p.addParameter ("InitialStep", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
166 p.addParameter ("Jacobian", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
167 p.addParameter ("JConstant", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
168 p.addParameter ("JPattern", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
169 p.addParameter ("Mass", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
170 p.addParameter ("MassSingular", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
171 p.addParameter ("MaxOrder", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
172 p.addParameter ("MaxStep", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
173 p.addParameter ("MStateDependence", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
174 p.addParameter ("MvPattern", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
175 p.addParameter ("NonNegative", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
176 p.addParameter ("NormControl", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
177 p.addParameter ("OutputFcn", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
178 p.addParameter ("OutputSel", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
179 p.addParameter ("Refine", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
180 p.addParameter ("RelTol", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
181 p.addParameter ("Stats", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
182 p.addParameter ("Vectorized", []); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
183 p.KeepUnmatched = true; |
20636
6e81f4b37e13
Performance improvements for ODE functions.
Rik <rik@octave.org>
parents:
20634
diff
changeset
|
184 endif |
6e81f4b37e13
Performance improvements for ODE functions.
Rik <rik@octave.org>
parents:
20634
diff
changeset
|
185 |
22593
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
186 if (nargin == 0 && nargout == 0) |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
187 print_options (); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
188 else |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
189 p.parse (varargin{:}); |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
190 odestruct = p.Results; |
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
191 odestruct_extra = p.Unmatched; |
20631
00caf63edcdf
maint: Remove obsolete ODE options from odeset/odeget/ode45.
Rik <rik@octave.org>
parents:
20585
diff
changeset
|
192 |
22640
58c1c6aeb737
odeset: Improve performance by using for loop for merging of unknown options.
Rik <rik@octave.org>
parents:
22636
diff
changeset
|
193 xtra_fields = fieldnames (odestruct_extra); |
58c1c6aeb737
odeset: Improve performance by using for loop for merging of unknown options.
Rik <rik@octave.org>
parents:
22636
diff
changeset
|
194 if (! isempty (xtra_fields)) |
58c1c6aeb737
odeset: Improve performance by using for loop for merging of unknown options.
Rik <rik@octave.org>
parents:
22636
diff
changeset
|
195 ## Merge extra fields into existing odestruct |
58c1c6aeb737
odeset: Improve performance by using for loop for merging of unknown options.
Rik <rik@octave.org>
parents:
22636
diff
changeset
|
196 for fldname = sort (xtra_fields.') |
22641
c28648e039da
odeset.m: emit warning for any unknown property (bug #49364).
Rik <rik@octave.org>
parents:
22640
diff
changeset
|
197 fldname = fldname{1}; |
c28648e039da
odeset.m: emit warning for any unknown property (bug #49364).
Rik <rik@octave.org>
parents:
22640
diff
changeset
|
198 warning ("Octave:invalid-input-arg", |
c28648e039da
odeset.m: emit warning for any unknown property (bug #49364).
Rik <rik@octave.org>
parents:
22640
diff
changeset
|
199 "odeset: unknown option \"%s\"\n", fldname); |
c28648e039da
odeset.m: emit warning for any unknown property (bug #49364).
Rik <rik@octave.org>
parents:
22640
diff
changeset
|
200 odestruct.(fldname) = odestruct_extra.(fldname); |
22640
58c1c6aeb737
odeset: Improve performance by using for loop for merging of unknown options.
Rik <rik@octave.org>
parents:
22636
diff
changeset
|
201 endfor |
58c1c6aeb737
odeset: Improve performance by using for loop for merging of unknown options.
Rik <rik@octave.org>
parents:
22636
diff
changeset
|
202 endif |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
203 |
20585
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
204 endif |
22626 | 205 |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
206 endfunction |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
207 |
20631
00caf63edcdf
maint: Remove obsolete ODE options from odeset/odeget/ode45.
Rik <rik@octave.org>
parents:
20585
diff
changeset
|
208 ## function to print all possible options |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
209 function print_options () |
20634
80e630b37ba1
maint: Remove unnecessary 'v' prefix before variables in ODE m-files.
Rik <rik@octave.org>
parents:
20631
diff
changeset
|
210 |
22058
47f4268f8c5e
Fix usage message in odeset.
Carlo de Falco <carlo.defalco@polimi.it>
parents:
21092
diff
changeset
|
211 disp ("List of the most common ODE solver options."); |
20585
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
212 disp ("Default values are in square brackets."); |
20553
45151de7423f
maint: Clean up implementations of ode45.m, odeget.m, odeset.m.
Rik <rik@octave.org>
parents:
20549
diff
changeset
|
213 disp (""); |
22626 | 214 disp (' AbsTol: scalar or vector, >0, [1e-6]'); |
215 disp (' BDF: binary, {["off"], "on"}'); | |
216 disp (' Events: function_handle, []'); | |
217 disp (' InitialSlope: vector, []'); | |
218 disp (' InitialStep: scalar, >0, []'); | |
219 disp (' Jacobian: matrix or function_handle, []'); | |
220 disp (' JConstant: binary, {["off"], "on"}'); | |
221 disp (' JPattern: sparse matrix, []'); | |
222 disp (' Mass: matrix or function_handle, []'); | |
223 disp (' MassSingular: switch, {["maybe"], "no", "yes"}'); | |
224 disp (' MaxOrder: switch, {[5], 1, 2, 3, 4, }'); | |
225 disp (' MaxStep: scalar, >0, []'); | |
226 disp (' MStateDependence: switch, {["weak"], "none", "strong"}'); | |
227 disp (' MvPattern: sparse matrix, []'); | |
228 disp (' NonNegative: vector of integers, []'); | |
229 disp (' NormControl: binary, {["off"], "on"}'); | |
230 disp (' OutputFcn: function_handle, []'); | |
231 disp (' OutputSel: scalar or vector, []'); | |
232 disp (' Refine: scalar, integer, >0, []'); | |
233 disp (' RelTol: scalar, >0, [1e-3]'); | |
234 disp (' Stats: binary, {["off"], "on"}'); | |
235 disp (' Vectorized: binary, {["off"], "on"}'); | |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
236 |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
237 endfunction |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
238 |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
239 |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
240 %!demo |
22647
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
241 %! ## A new ODE options structure with default values is created. |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
242 %! |
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
243 %! odeoptA = odeset (); |
20553
45151de7423f
maint: Clean up implementations of ode45.m, odeget.m, odeset.m.
Rik <rik@octave.org>
parents:
20549
diff
changeset
|
244 |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
245 %!demo |
22647
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
246 %! ## A new ODE options structure with manually set options |
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
247 %! ## for "AbsTol" and "RelTol" is created. |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
248 %! |
20549
e368ce72a844
maint: Use Octave coding conventions for ode* functions.
Rik <rik@octave.org>
parents:
20548
diff
changeset
|
249 %! odeoptB = odeset ("AbsTol", 1e-2, "RelTol", 1e-1); |
20553
45151de7423f
maint: Clean up implementations of ode45.m, odeget.m, odeset.m.
Rik <rik@octave.org>
parents:
20549
diff
changeset
|
250 |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
251 %!demo |
22647
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
252 %! ## A new ODE options structure is created from odeoptB with |
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
253 %! ## a modified value for option "NormControl". |
20585
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
254 %! |
20549
e368ce72a844
maint: Use Octave coding conventions for ode* functions.
Rik <rik@octave.org>
parents:
20548
diff
changeset
|
255 %! odeoptB = odeset ("AbsTol", 1e-2, "RelTol", 1e-1); |
e368ce72a844
maint: Use Octave coding conventions for ode* functions.
Rik <rik@octave.org>
parents:
20548
diff
changeset
|
256 %! odeoptC = odeset (odeoptB, "NormControl", "on"); |
20533
fcb792acab9b
Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents:
diff
changeset
|
257 |
22593
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
258 %!test |
20585
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
259 %! odeoptA = odeset (); |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
260 %! assert (isstruct (odeoptA)); |
22647
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
261 %! assert (numfields (odeoptA), 22); |
20585
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
262 %! assert (all (structfun ("isempty", odeoptA))); |
20549
e368ce72a844
maint: Use Octave coding conventions for ode* functions.
Rik <rik@octave.org>
parents:
20548
diff
changeset
|
263 |
20585
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
264 %!shared odeoptB, odeoptC |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
265 %!test |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
266 %! odeoptB = odeset ("ABSTOL", 1e-2, "reltol", 1e-1); |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
267 %! assert (odeoptB.AbsTol, 1e-2); # Check canonicalization of name |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
268 %! assert (odeoptB.RelTol, 1e-1); |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
269 |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
270 %!test |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
271 %! odeoptC = odeset (odeoptB, "NormControl", "on"); |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
272 %! assert (odeoptC.AbsTol, 1e-2); # check values from first struct copied |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
273 %! assert (odeoptC.NormControl, "on"); # check new values override old ones |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
274 |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
275 %!test |
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
276 %! odeoptD = odeset (odeoptB, odeoptC); |
20634
80e630b37ba1
maint: Remove unnecessary 'v' prefix before variables in ODE m-files.
Rik <rik@octave.org>
parents:
20631
diff
changeset
|
277 %! assert (odeoptD, odeoptC); |
20585
e5f36a7854a5
Remove fuzzy matching from odeset/odeget.
Rik <rik@octave.org>
parents:
20553
diff
changeset
|
278 |
20631
00caf63edcdf
maint: Remove obsolete ODE options from odeset/odeget/ode45.
Rik <rik@octave.org>
parents:
20585
diff
changeset
|
279 ## Test custom user-defined option |
00caf63edcdf
maint: Remove obsolete ODE options from odeset/odeget/ode45.
Rik <rik@octave.org>
parents:
20585
diff
changeset
|
280 %!test |
22647
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
281 %! warning ("off", "Octave:invalid-input-arg", "local"); |
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
282 %! odeopt = odeset ("NewtonTol", 3); |
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
283 %! assert (odeopt.NewtonTol, 3); |
20631
00caf63edcdf
maint: Remove obsolete ODE options from odeset/odeget/ode45.
Rik <rik@octave.org>
parents:
20585
diff
changeset
|
284 |
22632
0b21aece4b93
odeset.m: Update FIXME notes about non-exact matching (bug #49364).
Rik <rik@octave.org>
parents:
22626
diff
changeset
|
285 ## FIXME: Add an inexact match option once it is available in inputParser. |
22636
c44d57c0a925
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
22635
diff
changeset
|
286 ## See bug #49364. |
22632
0b21aece4b93
odeset.m: Update FIXME notes about non-exact matching (bug #49364).
Rik <rik@octave.org>
parents:
22626
diff
changeset
|
287 ## %!warning <no exact match for 'Rel'. Assuming 'RelTol'> odeset ("Rel", 1); |
0b21aece4b93
odeset.m: Update FIXME notes about non-exact matching (bug #49364).
Rik <rik@octave.org>
parents:
22626
diff
changeset
|
288 ## %!error <Possible fields found: InitialSlope, InitialStep> odeset ("Initial", 1) |
0b21aece4b93
odeset.m: Update FIXME notes about non-exact matching (bug #49364).
Rik <rik@octave.org>
parents:
22626
diff
changeset
|
289 |
20631
00caf63edcdf
maint: Remove obsolete ODE options from odeset/odeget/ode45.
Rik <rik@octave.org>
parents:
20585
diff
changeset
|
290 ## Test input validation |
22593
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
291 %!error <argument 'OPT1' is not a valid parameter> odeset ("opt1") |
22647
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
292 %!error odeset (1, 1) |
22593
dba5074bdc79
simplify options management in ode solvers
Carlo de Falco <carlo.defalco@polimi.it>
parents:
22323
diff
changeset
|
293 %!error <argument 'OPT1' is not a valid parameter> odeset (odeset (), "opt1") |
22647
cf8ec7abb4ae
Clean up demo and test blocks for ode functions.
Rik <rik@octave.org>
parents:
22642
diff
changeset
|
294 %!error odeset (odeset (), 1, 1) |