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
|
|
•
|
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));
|
| (1) |
|
Choosing the parametrization
|
>
|
para := diff(y(x),x) = t;
|
| (2) |
>
|
ode1 := subs(para,x=x(t),y=y(t), ode);
|
| (3) |
>
|
ode_draft := diff(x(t),t) = diff(rhs(ode1),t)/t:
|
>
|
ode2 := diff(x(t),t)=solve(ode_draft,diff(x(t),t));
|
| (4) |
•
|
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.
|
|
2.
|
|
3.
|
(particular case)
|
4.
|
(particular case)
|
|
Parametric solutions are available by giving the optional argument 'parametric' to dsolve. By default, when the ODE is of high degree in , 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 can be isolated.
|
|
|
Examples
|
|
1) Kamke's ODE 554: y=G(x,y')
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
>
|
|
| (9) |
>
|
|
| (10) |
>
|
|
| (11) |
3) Kamke's ODE 568: and d'Alembert type (see odeadvisor,dAlembert)
>
|
|
| (12) |
>
|
|
| (13) |
>
|
|
| (14) |
Implicit or explicit answers can be tested using odetest; when there are many answers one can map as follows
>
|
|
| (15) |
|
|
See Also
|
|
DEtools, odeadvisor, dsolve, and ?odeadvisor,<TYPE> where <TYPE> is one of: quadrature linear, separable, Bernoulli, exact, homogeneous, homogeneousB, homogeneousC, homogeneousD, homogeneousG, Chini, Riccati, Abel, Abel2A, Abel2C, rational, Clairaut, dAlembert, sym_implicit; for other differential orders see odeadvisor,types.
|
|