Differenzialgleichungen

Analysis II,  D-MATV/D-MATL 
FS2009  
Giovanni Felder, ETH

[Shift-Enter in Inputzellen drucken]

Mit DSolve kann man gewisse Differenzialgleichungen loesen. DSolve[Differenzialgleichung,y,x] gibt die allgemeine Loesung einer Differenzialgleichung fuer eine Funktion y[x]. DSolve[{Differenzialgleichung,Anfangsbedingungen},y,x] gibt die Loesungen welche die (Komma getrennten) Anfangsbedingungen erfuellen. In Differenzialgleichungen und Anfangsbedingungen muss == statt dem Zuweisungsbefehl = verwendet werden.

DSolve[{y'[x]+x y[x]==0},y,x]

Also ist y(x)=C exp(-(x^2)/2) die allgemeine Loesung der Differenzialgleichung y''+xy'=0.

DSolve[{x''[t]-2x[t]==0},x,t]

Mit Anfangsbedingungen:

DSolve[{y''[x]-2y[x]==0,y[0]==1,y'[0]==-2},y,x]

In der Sprache von Mathematica wird diese Darstellung der Loesung als "Regel" aufgefasst: Die Regel besagt dass statt y die Funktion rechts vom Pfeil -> substituiert werden soll. Um also etwa die Loesung graphisch darzustellen, kann man eine Funktion Y definieren, die gleich y "unter Verwendung der Regel" (/.)ist:

Y=y/.DSolve[{y''[x]-2y[x]==0,y[0]==1,y'[0]==-2},y,x][[1]]

Das [[1]] extrahiert die erste Loesung aus der Liste (hier gibt es nur eine).
Graphische Darstellung:

Plot[Y[x],{x,-2,2}]

Eine nicht elementar loesbare Differenzialgleichung:

Loesung=DSolve[{x''[t]+t x[t]==0,x[0]==0,x'[0]==4},x,t]

Die Loesung enthaelt die nicht elementar ausdruckbare Airy Funktionen. Diese sind aber Mathematica bekannt, also kann die Loesung graphisch dargestellt werden:

X=x/.Loesung[[1]]
Plot[X[t],{t,0,30}]

Ein Beispel mit zwei Loesungen (Warum gilt hier der Eindeutigkeitssatz nicht?).

Loesungen=DSolve[{y'[x]^2==y[x],y[1]==1},y,x]

Graphische Darstellung:

Y1=y/.Loesungen[[1]];
Y2=y/.Loesungen[[2]];
Plot[{Y1[x],Y2[x]},{x,0,4}]

Beispiel aus der Physik: Newton-Bewegungsgleichung fuer den Auslenkungswinkel eines Pendels der Laenge L im Gravitationsfeld
 ϕ''+g/L sin(ϕ)=0
Fuer kleine ϕ liefern die Loesungen A cos(ϕ-a) der Gleichung des harmonsichen Oszillator ϕ''+g/Lϕ gute Approximationen. Im Allgemeinen kann man aber diese Gleichung nicht explizit loesen. Hier eine numerische Loesung mit Anfangsgeschwindigkeit 0 (Laenge L=40cm).

L=0.4; g=9.81;
Loesung=NDSolve[{ phi''[t]+(g/L)Sin[phi[t]]==0,phi[0]==0.5,phi'[0]==0},phi,{t,0,10}]
Phi:=phi/.Loesung[[1]]
Plot[{Phi[x]},{x,0,10}]

Was passiert wenn die Anfangsbedingungen ϕ(0) nahe bei π ist (mit Anfangsgeschwindigkeit 0?
Wie gross muss ϕ'(0) bei ϕ(0)=0 sein, damit der Pendel die obere Gleichgewichtslage ϕ=π erreicht? 
Versuchen Sie auch eine kleine periodische Stoerkraft hinzuzufuegen (zB 0.1 Sin[ωt]).