|
Calling Sequence
|
|
dsolve(daesys, numeric, method=mebdfi, vars, options)
|
|
Parameters
|
|
daesys
|
-
|
set or list; differential-algebraic system of equation and initial conditions
|
numeric
|
-
|
literal name; instruct dsolve to find a numerical solution
|
method=mebdfi
|
-
|
literal equation; numerical method to use
|
vars
|
-
|
(optional) a set or list of dependent variables for daesys
|
options
|
-
|
(optional) equations of the form keyword = value
|
|
|
|
|
Description
|
|
•
|
The dsolve command with the options numeric and method=mebdfi finds a numerical solution of a DAE system using the Modified Extended Backward Differentiation Equation Implicit method. This is a stiff method, so can handle stiff problems efficiently, but should only be used for DAE of index 2 or lower. It can be used to solve regular ODE problems, but use of regular ODE solvers is recommended for that purpose (see dsolve[numeric,IVP]).
|
•
|
The following options are available for the mebdfi method:
|
'output'
|
=
|
keyword or array
|
'known'
|
=
|
name or list of names
|
'startinit'
|
=
|
boolean
|
'optimize'
|
=
|
boolean
|
'maxfun'
|
=
|
integer
|
'abserr'
|
=
|
numeric
|
'relerr'
|
=
|
numeric
|
'minstep'
|
=
|
numeric
|
'maxstep'
|
=
|
numeric
|
'initstep'
|
=
|
numeric
|
'maxord'
|
=
|
integer
|
|
|
|
The 'output' option specifies the output from dsolve, and the known option specifies user-defined known functions. These options are discussed in dsolve[numeric].
|
|
'startinit' and 'optimize'
|
|
These options control the method and behavior of the computation, the 'startinit' option is the same as for IVP problems, and is discussed in dsolve[numeric,IVP], while the 'optimize' option is discussed in dsolve[numeric].
|
|
This option specifies the maximum number of steps taken to obtain the requested solution. For this direct solver, this is the closest parallel to dsolve[maxfun]. By default this option is disabled.
|
|
These options specify the desired accuracy of the solution, and are discussed in dsolve[Error_Control]. The default values for mebdfi are and .
|
|
'minstep', 'maxstep', and 'initstep'
|
|
These options provide finer control over the step size used in the method, and are also discussed in dsolve[Error_Control]. By default is determined within the computation, is disabled, and . When setting ensure that the value is adequately small to allow for the first few steps, which are computed at a lower order.
|
|
This option specifies the maximum order of the method used in the course of the computation as an integer between 2 and 8. The default value is , but for difficult problems it may be necessary to specify this as or . Lower order gives better stability, but is less efficient.
|
•
|
The computation may return with an error message corresponding to an error condition of the mebdfi procedure.
|
•
|
Results can be plotted using the function odeplot in the plots package.
|
|
|
Examples
|
|
Double pendulum (index-reduced to index-2):
>
|
|
| (1) |
>
|
|
| (2) |
Default solution:
>
|
|
| (3) |
| (4) |
Lower order for stability:
>
|
|
| (6) |
| (7) |
|
|
References
|
|
|
Cash, J.R. "The Integration of stiff IVP in ODE using modified extended BDF." Computers and Mathematics with Applications. Vol. 9. (1983): 645-657.
|
|
Cash, J.R., and Considine, S. "An MEBDF code for stiff IVP." ACM Trans Math Software. 1992: 142-158.
|
|
|
|