gear - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


dsolve/numeric/gear

numerical solution of ordinary differential equations

 

Calling Sequence

Parameters

Description

Examples

References

Calling Sequence

dsolve(odesys, numeric, method=gear)

dsolve(odesys, numeric, method=gear[choice], vars, options)

dsolve(numeric, method=gear[choice], procopts, options)

Parameters

odesys

-

set or list; ordinary differential equation(s) and initial conditions

numeric

-

literal name; instruct dsolve to find a numerical solution

method=gear

-

literal equation; numerical method to use

method=gear[choice]

-

equation; numerical method and submethod to use

vars

-

(optional) dependent variable or a set or list of dependent variables for odesys

options

-

(optional) equations of the form keyword = value

procopts

-

options used to specify the ODE system using a procedure (procedure, initial, start, number, and procvars). For more information, see dsolve[numeric,IVP].

Description

• 

The dsolve command with the options numeric and method=gear or method=gear[choice] finds a numerical solution using a Gear single-step extrapolation method.

• 

The choice for the gear method are bstoer and polyextr.  The default bstoer choice is a Burlirsch-Stoer rational extrapolation method and the polyextr choice uses polynomial extrapolation.

• 

By setting infolevel[`dsolve/gear`] or infolevel[dsolve] to 2, information about the last mesh point evaluation is provided in the event of an error.

• 

The following options are available for the gear method.

'output'

=

keyword or array

'known'

=

name or list of names

'maxfun'

=

integer

'number'

=

integer

'procedure'

=

procedure

'start'

=

numeric

'initial'

=

array

'procvars'

=

list

'startinit'

=

boolean

'implicit'

=

boolean

'optimize'

=

boolean

'abserr'

=

numeric

'relerr'

=

numeric

'initstep'

=

numeric

'maxstep'

=

numeric

'minstep'

=

numeric

'maxord'

=

integer

'maxpts'

=

integer

  

'output','known'

  

The 'output' option specifies the desired output from dsolve, and the known option specifies user-defined known functions. These options are discussed in dsolve[numeric].

  

 

  

'maxfun'

  

Specifies a maximum on the number of evaluations of the right-hand side of the first order ODE system (See dsolve[maxfun]). This option can be disabled by specifying maxfun=0. By default this option is disabled.

  

 

  

'number', 'procedure', 'start', 'initial', and 'procvars'

  

These options are used to specify the IVP using procedures. For more information, see dsolve[numeric,IVP].

  

 

  

'startinit','implicit', and 'optimize'

  

These options control the method and behavior of the computation. For more information on the first two, see dsolve[numeric,IVP], for the last, see dsolve[numeric].

  

 

  

'abserr' and 'relerr'

  

Specify the desired accuracy of the solution, and are discussed in dsolve[Error_Control]. The default values for gear are abserr=1.×10−7 and relerr=1.×10−7.

  

 

  

'minstep', 'maxstep', and 'initstep'

  

Provide finer control over the step size used in the method, and are also discussed in dsolve[Error_Control]. By default minstep=0.00001, maxstep is disabled, and initstep=0.00001. When setting minstep ensure that the value is adequately small to allow for the first few steps.

  

 

  

'maxord'

  

A positive integer, specifying the maximum order of extrapolation allowed. It must be less than 11 (values of 6 or less are recommended). The default value is 4.

  

 

  

'maxpts'

  

A positive integer, specifying the maximum number of different single unit step sizes used in the extrapolation process (values less than 10 are recommended). The default is 6.

  

 

• 

The computation may return with an error message corresponding to an error condition of the gear procedure.

• 

Results can be plotted using the function odeplot in the plots package.

Examples

Digits10:

deq1diffyx,`$`x,3=yxdiffyx,xx

deq1ⅆ3ⅆx3yx=yxⅆⅆxyxx

(1)

init1y1=2.4,Dy1=3,D2y1=4

init1y1=2.4,Dy1=3,D2y1=4

(2)

ans1dsolvedeq1unioninit1,numeric,method=gearpolyextr,initstep=0.015,minstep=Float1,11,abserr=Float1,5,relerr=Float1,5:

ans11.01

x=1.01,yx=2.43020104070930,ⅆⅆxyx=3.04031295467142,ⅆ2ⅆx2yx=4.06288854913227

(3)

dsys2xyxsinyx=diffyx,x,y0=5.

dsys2xyxsinyx=ⅆⅆxyx,y0=−5.

(4)

ans2dsolvedsys2,numeric,method=gear,maxord=3:

ans20.45

x=0.45,yx=−5.90260241046659

(5)

ans20.9

x=0.9,yx=−7.81336992184499

(6)

Digits25:

deq3diffyz,`$`z,3yzzdiffyz,z=5

deq3ⅆ3ⅆz3yzyzzⅆⅆzyz=5

(7)

init3y0=1,D2y0=1,Dy0=2

init3y0=1,D2y0=−1,Dy0=2

(8)

ans3dsolvedeq3,init3,numeric,method=gearbstoer,maxpts=4:

ans31

z=−1.,yz=−2.348282662951510120622879,ⅆⅆzyz=5.767096382629485105229235,ⅆ2ⅆz2yz=−8.239613529231847035339209

(9)

ans30

z=0.,yz=1.,ⅆⅆzyz=2.,ⅆ2ⅆz2yz=−1.

(10)

References

  

Gear, C.W. Numerical Initial Value Problems in Ordinary Differential Equations. Prentice-Hall, 1971.

See Also

dsolve/Error_Control

dsolve[ck45]

dsolve[classical]

dsolve[dverk78]

dsolve[lsode]

dsolve[maxfun]

dsolve[numeric,IVP]

dsolve[numeric]

dsolve[rkf45]

dsolve[rosenbrock]

dsolve[Stiffness]

dsolve[taylorseries]

plots[odeplot]