Mercurial > octave
annotate scripts/ode/odeset.m @ 30893:e1788b1a315f
maint: Use "fcn" as preferred abbreviation for "function" in m-files.
* accumarray.m, accumdim.m, quadl.m, quadv.m, randi.m, structfun.m,
__is_function__.m, uigetfile.m, uimenu.m, uiputfile.m, doc_cache_create.m,
colorspace_conversion_input_check.m, imageIO.m, argnames.m, vectorize.m,
vectorize.m, normest1.m, inputname.m, nthargout.m, display_info_file.m,
decic.m, ode15i.m, ode15s.m, ode23.m, ode23s.m, ode45.m, odeset.m,
check_default_input.m, integrate_adaptive.m, ode_event_handler.m,
runge_kutta_23.m, runge_kutta_23s.m, runge_kutta_45_dorpri.m,
runge_kutta_interpolate.m, starting_stepsize.m, __all_opts__.m, fminbnd.m,
fminsearch.m, fminunc.m, fsolve.m, fzero.m, sqp.m, fplot.m, plotyy.m,
__bar__.m, __ezplot__.m, flat_entry.html, profexport.m, movfun.m, bicg.m,
bicgstab.m, cgs.m, eigs.m, gmres.m, pcg.m, __alltohandles__.m, __sprand__.m,
qmr.m, tfqmr.m, dump_demos.m:
Replace "func", "fun", "fn" in documentation and variable names with "fcn".
author | Rik <rik@octave.org> |
---|---|
date | Mon, 04 Apr 2022 18:14:56 -0700 |
parents | 796f54d4ddbf |
children | 449ed6f427cb |
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"} |
30893
e1788b1a315f
maint: Use "fcn" as preferred abbreviation for "function" in m-files.
Rik <rik@octave.org>
parents:
30564
diff
changeset
|
142 ## Specify whether @code{odefcn} 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) |