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

Online Help

All Products    Maple    MapleSim


Solving ODEs Matching the Patterns y=G(x,diff(y,x)), x=G(y,diff(y,x)), y=G(diff(y,x)), x=G(diff(y,x)), 0=G(x,diff(y,x)), 0=G(y,diff(y,x))

 

Description

Examples

Description

• 

See Differentialgleichungen, by E. Kamke, p. 30. The technique consists mainly of looking for a parametric solution. Consider, for instance, the case y=G(x,diff(y,x)).

ode := y=G(x,diff(y(x),x));

odey=Gx,ⅆⅆxyx

(1)
  

Choosing the parametrization

para := diff(y(x),x) = t;

paraⅆⅆxyx=t

(2)

ode1 := subs(para,x=x(t),y=y(t), ode);

ode1yt=Gxt,t

(3)
  

From the equations above and using the chain rule dydx=dydt dtdx, it is possible to obtain another ODE for xt as follows:

ode_draft := diff(x(t),t) = diff(rhs(ode1),t)/t:

ode2 := diff(x(t),t)=solve(ode_draft,diff(x(t),t));

ode2ⅆⅆtxt=D2Gxt,tD1Gxt,tt

(4)
  

You should therefore solve ode2 for xt and determine yt by introducing the resulting xt in ode1. Note that, when G does not depend on xt,ode2 is a quadrature. ODEs matching the pattern x=Gy,ⅆyⅆx are solved using the same ideas, and ODEs matching the patterns 0=Gx,ⅆyⅆx,0=Gy,ⅆyⅆx,x=Gⅆyⅆx, or y=Gⅆyⅆx are just particular cases.

• 

Although any ODE can be attempted using the scheme outlined above, generally speaking, there are four cases which can be better dealt with by looking for a parametric solution; they are:

1. 

y=Gx,ⅆyⅆx

2. 

x=Gy,ⅆyⅆx

3. 

y=Gⅆyⅆx   (particular case)

4. 

x=Gⅆyⅆx   (particular case)

  

Parametric solutions are available by giving the optional argument 'parametric' to dsolve. By default, when the ODE is of high degree in dydx, dsolve tries the parametric scheme, along with a set of related methods for this type of ODE. However, this scheme may also be of help in some cases in which dydx can be isolated.

Examples

1) Kamke's ODE 554: y=G(x,y')

withDEtools,odeadvisor

odeadvisor

(5)

odexn1diffyx,xnnxdiffyx,x+yx

odexn1ⅆⅆxyxnnxⅆⅆxyx+yx

(6)

odeadvisorode

y=_G(x,y')

(7)

ansdsolveode

ansyx=c__1xc__11nxnxn1+nc__1xc__11n

(8)

odetestans,ode

0

(9)

ode16yx2diffyx,x3+2xdiffyx,xyx

ode16yx2ⅆⅆxyx3+2xⅆⅆxyxyx

(10)

odeadvisorode

_1st_order,_with_linear_symmetries

(11)

dsolveode

yx=214314x3143,yx=214314x3143,yx=I3214314x314,yx=I3214314x314,yx=16c__13+2c__1x,yx=16c__13+2c__1x

(12)

3) Kamke's ODE 568: y=Gy'  and d'Alembert type (see odeadvisor,dAlembert)

odediffyx,x2sindiffyx,xyx

odeⅆⅆxyx2sinⅆⅆxyxyx

(13)

odeadvisorode

_quadrature

(14)

ansdsolveode

ansyx=0,x` `yx1RootOfsin_Z_Z2_aⅆ_ac__1=0

(15)

Implicit or explicit answers can be tested using odetest; when there are many answers one can map as follows

mapodetest,ans,ode

0,0

(16)

See Also

DEtools

odeadvisor

dsolve

quadrature

linear

separable

Bernoulli

exact

homogeneous

homogeneousB

homogeneousC

homogeneousD

homogeneousG

Chini

Riccati

Abel

Abel2A

Abel2C

rational

Clairaut

dAlembert

sym_implicit

odeadvisor,types