Einführung in Mathematica IX

Differenzialgleichungen

© Jürgen Schnack, 2009/04/24

Problem

Differenzialgleichungen (neue Rechtschreibung?) sind ein sehr weites Feld. Viele Probleme sind dieser Art: Bewegungsgleichungen, Feldgleichungen, Schrödingergleichungen, ...
Analytische Lösungen sind rar, aber für einige archetypische Fälle existieren sie.

Mathematica enthält eine schier unglaubliche Anzahl von analytischen Lösungen, die man mit 
DSolve
suchen kann.

Wenn das nicht weiterhilft, dann kann Mathematica mittels
NDSolve 
numerische Lösungen erzeugen.

DSolve

Einfaches Beispiel

DSolve[{y'[x]==ay[x]},y[x],x]

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

Sol1=DSolve[{y'[x]==ay[x],y[0]==1},y,x]

a=1.5;
Plot[y[x]/.Sol1,{x,0,2},
PlotStyle->{{Thickness[0.01],Red}},
AxesLabel->{"x","y"},
TextStyle->{FontFamily->Helvetica,FontSize->18}]

Schwingungsgleichung

DSolve[{u''[x]==-(k^2)u[x]},u,x]

DSolve[{u''[x]==-(k^2)u[x],u[0]==0},u,x]

Harmonischer Oszillator

DSolve[{x''[t]==-(ω^2)x[t]},x,t]

Sol2=DSolve[{x''[t]==-(ω^2)x[t],x[0]==-1,x'[0]==0},x,t]

ω=27;
Plot[x[t]/.Sol2,{t,0,7},
PlotStyle->{{Thickness[0.01],Red}},
AxesLabel->{"x","y"},
TextStyle->{FontFamily->Helvetica,FontSize->18}]

Harmonischer Oszillator mit Dämpfung

ω=4.0;
γ=1.0;

Sol3=DSolve[{x''[t]+γ x'[t]+(ω^2)x[t]==0,x[0]==-1,x'[0]==0},x,t]

Plot[x[t]/.Sol3,{t,0,7},
PlotStyle->{{Thickness[0.01],Red}},
AxesLabel->{"x","y"},
TextStyle->{FontFamily->Helvetica,FontSize->18}]

Getriebener Harmonischer Oszillator mit Dämpfung I

a=.
ω=4.0;
γ=1.0;
a[t_]=2 Sin[10 t];

Sol4=DSolve[{x''[t]+γ x'[t]+(ω^2)x[t]==a[t],x[0]==-1,x'[0]==0},x,t]

Plot[x[t]/.Sol4,{t,0,20},PlotRange->{-0.71,0.71},
PlotStyle->{{Thickness[0.01],Red}},
AxesLabel->{"x","y"},
TextStyle->{FontFamily->Helvetica,FontSize->18}]

Getriebener Harmonischer Oszillator mit Dämpfung II

ω=4.0;
γ=1.0;
a[t_]=2 Sin[10 t];

Sol4=DSolve[{x''[t]+γ x'[t]+(ω^2)x[t]==a[t],x[0]==-1,x'[0]==0},x,t];

Plot[{x[t]/.Sol4,a[t]/80},{t,10,20},PlotRange->{-0.051,0.051},
PlotStyle->{{Thickness[0.01],Red},{Thickness[0.005],Blue}},
AxesLabel->{"x","y"},
TextStyle->{FontFamily->Helvetica,FontSize->18}]

Diskussion

Getriebener Harmonischer Oszillator mit Dämpfung III

ω=4.0;
γ=20.0;
a[t_]=2 Sin[10 t];

Sol5=DSolve[{x''[t]+γ x'[t]+(ω^2)x[t]==a[t],x[0]==-1,x'[0]==0},x,t];

Plot[{x[t]/.Sol5,a[t]/160},{t,10,20},
PlotStyle->{{Thickness[0.01],Red},{Thickness[0.005],Blue}},
AxesLabel->{"x","y"},
TextStyle->{FontFamily->Helvetica,FontSize->18}]

Diskussion

Beispiel für gekoppelte Differentialgleichungen

Sol6=DSolve[{x'[t]==-2y[t]+3x[t],y'[t]==15x[t]-y[t],x[0]==a,y[0]==b},{x,y}, t];

ParametricPlot[Table[{x[t], y[t]}/.Sol6/.{a->1/(13+m), b->1/(15+m)}, {m,0,20,7}], {t,-2,2},Evaluated->True,PlotStyle->{{Red,Thick},{Blue,Thick},{Purple,Thick},{Orange,Thick}},AspectRatio->1.0]

Beispiel A

DSolve[3D[y[x1,x2],x1]+5D[y[x1,x2],x2]==x1 ,y,{x1,x2}]

The solution with a particular choice of the arbitrary function C[1]:

(y[x1,x2]/.%[[1]])/.{C[1][e_]:>Sin[e]+Cos[e]}

Plot3D[%,{x1,-5,5},{x2,-5,5}]

Beispiel B

Traveling wave solution for the Korteweg–de Vries (KdV) equation:

KdV = {D[y[x1, x2],x2]+D[y[x1,x2],{x1, 3}]+ 
      6y[x1,x2]D[y[x1,x2],x1]==0};

sol11 = DSolve[KdV,y,{x1,x2}]

Plot[Evaluate[y[x,1.2]/.sol11[[1]]/.{C[1]->1,C[2]->-4,C[3]->1/4}], {x,-7,20},PlotRange->All,PlotStyle->{Red,Thick},
TextStyle->{FontFamily->Helvetica,FontSize->18}]