4 wxMaxima |
Mit
ode2(Differentialgleichung, y-Variable, x-Variable);
wird nach der allgemeinen Lösung von Differentialgleichungen
erster und zweiter Ordnung gesucht.
In der Differentialgleichung wird dem diff()-Operator
ein einfaches Anführungszeichen vorangestellt. Damit wird die
sofortige Differentiation verhindert und kenntlich gemacht, dass
die Differentiationsoperation Bestandteil der Gleichung ist.
Die y-Variable ist die abgeleitete Variable, die
x-Variable ist die Variable, nach der abgeleitet wurde.
Sind Randbedingungen gegeben, wird mit ode2() bestimmte allgemeine Lösung in den Befehlen
ic1(Lösung, x=x-Wert, y=y-Wert);
oder
ic2(Lösung, x=x-Wert, y=y-Wert, diff(y,x)=Ableitung);
bzw.
bc2(Lösung, x=x1, y=y1, x=x2, y=y2);
verwendet, um das Randwertproblem zu lösen.
Im Beispiel wird das Randwertproblem
gelöst:
disp("Eingabe DGL:")$ dgl: 'diff(y,x)=x*y+2*x; disp("Allgemeine Loesung:")$ l1 : ode2(dgl, y, x); disp("Einsetzen der Randbedingungen:")$ l2: ic1(l1, x=0, y=2);
Mit
desolve([Differentialgleichung(en)], [Funktion(en)]);
können gewöhnliche lineare DGL-Systeme bzw. Differentialgleichungen gelöst werden, Maxima nutzt hierzu intern die Laplace-Transformation.
Vor dem Aufruf von desolve() müssen funktionale Abhängigkeiten einzelner Größen von den unabhängigen Variablen explizit angegeben werden. Mit
atvalue(Funktion, Variable=Position, Wert);
werden diese Randbedingungen angegeben.
Im Beispiel wird das DGL-System
gelöst.
Mit
dgl1: 'diff(f(x), x) = 'diff(g(x), x) + sin(x); dgl2: 'diff(g(x), x, 2) = 'diff(f(x), x) - cos(x); atvalue('diff(g(x), x), x=0, a); atvalue(f(x), x=0, 1); disp("Loesung:")$ lsg: desolve([dgl1, dgl2], [f(x), g(x)]);
wird die Lösung
gefunden.