Es folgt eine kurze Vorstellung der Lösungsmöglichkeiten von einfachen gewöhnlichen Differentialgleichungen (ordinary differential equations - ODE) mit Maple V. Genauere und umfassendere Erläuterungen zu diesem Thema finden sich in der englischsprachigen Dokumentation:
Eine Differentialgleichung können Sie wie eine gewöhnliche Gleichung definieren, die n-te Ableitung von y(x) wird mit diff(y(x), x$n) ausgedrückt
> restart; > dgl := diff(y(x), x)=2*x; d dgl := ---- y(x) = 2 x dxDie allgemeinen und speziellen Lösungen ermitteln Sie mit dsolve. dsolve ist auf die unterschiedlichsten Typen von Differentialgleichungen anwendbar.
> dsolve(dgl, y(x)); 2 y(x) = x + _C1Bei speziellen Lösungen wird der Anfangswert (initial value) zusammen mit der Differentialgleichung in geschweifte Klammern gesetzt.
> dsolve({dgl, y(0)=1}, y(x)); 2 y(x) = x + 1Die Lösungsfunktionen einer Differentialgleichung lassen sich mit DEplot aus dem Paket 'DEtools' graphisch darstellen. Dazu reicht die Differentialgleichung an sich, nicht deren Lösung(en).
Die allgemeine Lösung der obigen Differentialgleichung erster Ordnung 'dgl' lautet x^2+c und stellt graphisch eine Schar von nach oben geöffneten Normalparabeln dar, welche symmetrisch zur Ordinate angeordnet sind. DEplot verlangt als ersten Parameter die Differentialgleichung(en), als zweiten die enthaltenen Variablen in Form einer Liste (hier [x, y]), als dritten den Bereich der Unbestimmten (hier x) und als vierten eine Liste von Punkten, durch die die Integralkurven verlaufen (hier pts). Optionen können Sie ebenfalls angeben.
> with(plots): > with(DEtools): > pts := {[0, 0], [0, 1], [0.5, 2.5]}; > DEplot(dgl, [x, y], x=-2 .. 2, pts, scaling=constrained);
Ein Richtungsfeld (direction field) erzeugt dfieldplot (ebenfalls aus dem Paket 'DEtools'):
> plot1 := dfieldplot(dgl, [x, y], x=-2 .. 2, y=0 .. 6, > scaling=constrained): > plot2 := DEplot(dgl, [x, y], x=-2 .. 2, pts, scaling=unconstrained): > display({plot1, plot2});
Es folgen einige einfache Differentialgleichungen verschiedener Typen. y(x) kann auch durch die Variable y ersetzt werden, es sei denn, es ist Teil einer Ableitung.
Integration spezieller Differentialgleichungen 1. Ordnung vom Typ y' = f(ax + by + c):
> dgl := diff(y(x), x)=2*x-y; # statt y auch y(x) möglich d dgl := ---- y(x) = 2 x - y dx > dsolve(dgl, y(x)); y(x) = 2 x - 2 + exp(- x) _C1Integration spezieller Differentialgleichungen 1. Ordnung vom Typ y' = f(x / y):
> dgl := diff(y(x), x)=1+2*y/x; d dgl := ---- y(x) = 1 + 2 y/x dx > dsolve(dgl, y(x)); 2 y(x) = - x + x _C1Integration einer inhomogenen linearen Differentialgleichung 1. Ordnung y' + f(x) * y = g(x) (bei g(x) = 0 homogen):
> dgl := diff(y(x), x)+tan(x)*y=2*sin(x)*cos(x); / d \ dgl := |---- y(x)| + tan(x) y = 2 sin(x) cos(x) \ dx / > dsolve(dgl, y(x)); 2 y(x) = - 2 cos(x) + cos(x) _C1Bernoulli-Differentialgleichungen:
> dgl := diff(y(x), x)+2*y(x)-y(x)^(-1)=0; / d \ 1 dgl := |---- y(x)| + 2 y(x) - ---- = 0 \ dx / y(x) > dsolve(dgl, y(x)); 2 y(x) = 1/2 + exp(- 4 x) _C1 > solve(", y(x)); 1/2 1/2 1/2 (2 + 4 exp(- 4 x) _C1) , - 1/2 (2 + 4 exp(- 4 x) _C1)Inhomogene lineare Differentialgleichungen 2. Ordnung:
> dgl := diff(y(x), x$2)+2*diff(y(x), x)-3*y=3*x^2-4*x; / 2 \ | d | / d \ 2 dgl := |----- y(x)| + 2 |---- y(x)| - 3 y = 3 x - 4 x | 2 | \ dx / \ dx / > dsolve(dgl, y(x)); 2 y(x) = - 2/3 - x + _C1 exp(x) + _C2 exp(- 3 x)