restart: a:= ;# (* Ausdruck eingeben *) b:= ;# (* Ausdruck eingeben *) c:= ;# (* Ausdruck eingeben *) rand1:= ;# (* Randbedingung eingeben *) rand2:= ;# (* Randbedingung eingeben *) diffgl:= diff(diff(y(x),x),x)+a*diff(y(x),x)+b*y(x)=c ; lsg:=dsolve({diffgl,y(0)=rand1,D(y)(0)=rand2},y(x));
Kontrolle
subs(",diffgl); simplify(") ;
Falls sich die Differentialgleichung nicht symbolisch lösen läßt, so kann man in einem angegebenen Bereich von x eine numerische Interpolationsfunktion finden.
with(plots): lsg1:=dsolve({diffgl,y(0)=rand1,D(y)(0)=rand2},y(x),numeric); funk:=": odeplot(funk,[x,y(x)],0..10); # (* Beispiel *) restart: with(plots): diffgl:=diff(y(x),x$2)+x*diff(y(x),x)+sin(x)*y(x)=0; lsg1:=dsolve({diffgl,y(0)=6,D(y)(0)=-20},y(x),numeric); funk:=": odeplot(funk,[x,y(x)],0..10);