Differentialgleichungen

Needs["Graphics`PlotField`"]

DirectionField[DE_, y_[x_], {x_, a_, b_}, {y_, c_, d_}, options___] := 
      Module[{g}, 
g = 
          DE[[2 ]] /. 
            y[x] -> y; 
PlotVectorField[{1, g}, {x, a, 
            b}, {y, c, d}, options]
]

Picard-Iteration

Wir betrachten das AWP y'(x)=-(x/(y(x)))mit y(0)=4

Clear[y]

DE = y'[x] == ((-x)/y)[x]

plot0 = 
      DirectionField[Solve[DE, y'[x]][[1, 1]], 
        y[x], {x, -5, 5}, {y, -5, 5}, Frame -> True]

Start: Nullte Näherung (Subscript[y, 0])(x)

y[x_] := 4

Erste Picard-Iteration liefert erste Näherung (Subscript[y, 1])(x)

4 + (∫_0^x)((-t)/y)[t] \[DifferentialD]t

y[x_] = %

plot1 = 
      Plot[y[x], {x, -5, 5}, 
        PlotStyle -> {Thickness[0.01], RGBColor[1, 0, 0]}]

Show[plot0, plot1, PlotRange -> {-5, 5}]

Zweite Picard-Iteration liefert zweite Näherung (Subscript[y, 2])(x)

4 + (∫_0^x)((-t)/y)[t] \[DifferentialD]t // 
      Simplify

y[x_] = %

plot2 = 
      Plot[y[x], {x, -5, 5}, 
        PlotStyle -> {Thickness[0.01], RGBColor[0, 0, 1]}]

Show[plot0, plot1, plot2, PlotRange -> {-5, 5}]

Dritte Picard-Iteration liefert dritte Näherung (Subscript[y, 3])(x)

4 + (∫_0^x)((-t)/y)[t] \[DifferentialD]t // 
      Simplify

y[x_] = %

plot3 = 
      Plot[y[x], {x, -5, 5}, 
        PlotStyle -> {Thickness[0.01], RGBColor[0.5, 1, 1]}]

Show[plot0, plot1, plot2, plot3, 
      PlotRange -> {-5, 5}]

Graphische Darstellung der Lösungsfunktion

plot4 = 
      Plot[ (Sqrt[16 - (x^2)]), {x, -5, 5}, 
        PlotStyle -> {Thickness[0.01], RGBColor[1, 0.5, 1]}]

Show[plot0, plot1, plot2, plot3, plot4, 
      PlotRange -> {-5, 5}]

Wir betrachten das AWP y'(x)=2 x y(x)mit y(0)=1

Clear[y]

DE = y'[x] == 2  x y[x]

plot0 = 
      DirectionField[Solve[DE, y'[x]][[1, 1]], 
        y[x], {x, -5, 5}, {y, 0, 5}, Frame -> True]

Start: Nullte Näherung (Subscript[y, 0])(x)

y[x_] := 1

Erste Picard-Iteration liefert erste Näherung (Subscript[y, 1])(x)

1 + (∫_0^x) 2  t y[t] \[DifferentialD]t

y[x_] = %

plot1 = 
      Plot[y[x], {x, -5, 5}, 
        PlotStyle -> {Thickness[0.01], RGBColor[1, 0, 0]}]

Show[plot0, plot1, PlotRange -> {0, 5}]

Zweite Picard-Iteration liefert zweite Näherung (Subscript[y, 2])(x)

1 + (∫_0^x) 2  t y[t] \[DifferentialD]t // Expand

y[x_] = %

plot2 = 
      Plot[y[x], {x, -5, 5}, 
        PlotStyle -> {Thickness[0.01], RGBColor[0, 0, 1]}]

Show[plot0, plot1, plot2, PlotRange -> {0, 5}]

Dritte Picard-Iteration liefert dritte Näherung (Subscript[y, 3])(x)

1 + (∫_0^x) 2  t y[t] \[DifferentialD]t // Expand

y[x_] = %

plot3 = 
      Plot[y[x], {x, -5, 5}, 
        PlotStyle -> {Thickness[0.01], RGBColor[0.5, 1, 1]}]

Show[plot0, plot1, plot2, plot3, PlotRange -> {0, 5}]

Graphische Darstellung der Lösungsfunktion

plot4 = 
      Plot[ (E^((x^2))), {x, -5, 5}, 
        PlotStyle -> {Thickness[0.01], RGBColor[1, 0.5, 1]}]

Show[plot0, plot1, plot2, plot3, plot4, 
      PlotRange -> {0, 5}]

Lineare Differentialgleichungen höherer Ordnung

Beispiel 1

Clear[y]

Wir betrachten die Differentialgleichung

DE = y''''[x] - 5  y''[x] + 4  y[x] == 0

mit dem charakteristischen Polynom

charpol = 
      DE /. {y[x] -> 
            1, Derivative[n_][y][x] -> (λ^n)}

Das charakteristische Polynom hat vier verschiedene Lösungen:

lösung = Solve[charpol]

Entsprechend erhalten wir die Lösungsbasis der Differentialgleichung DE:

basis = Map[Exp[# x] &, λ /. lösung]

Dies liefert auch DSolve:

DSolve[DE, y[x], x]

Sind die Nullstellen des charakteristischen Polynoms rational, findet man diese auch mit dem Factor-Kommando:

Map[Factor, charpol]

Testen der linearen Unabhängigkeit: Wronskimatrix

WronskiMatrix[basis_, x_] := 
      Table[D[basis[[k]], {x, j}], {j, 0, Length[basis] - 1}, {k, 
          Length[basis]}]

WronskiDeterminante[basis_, x_] := 
      Det[WronskiMatrix[basis, x]]

WronskiMatrix[basis, x]

WronskiDeterminante[basis, x]

Lineare Unabhängigkeit im allgemeinen Fall

basis = Table[(E^(λ[k] x)), {k, 4}]

WronskiDeterminante[basis, x] // Factor

WronskiMatrix[basis, x]

Übung: Beispiel 2

Clear[y]

Wir betrachten die Differentialgleichung

DE = y''''[x] - 6  y'''[x] + 3  y''[x] + 26  y'[x] - 
          24  y[x] == 0

mit dem charakteristischen Polynom

charpol = 
      DE /. {y[x] -> 
            1, Derivative[n_][y][x] -> (λ^n)}

Das charakteristische Polynom hat vier verschiedene Lösungen:

lösung = Solve[charpol]

Entsprechend erhalten wir die Lösungsbasis der Differentialgleichung DE:

basis = Map[Exp[# x] &, λ /. lösung]

Dies liefert auch DSolve:

DSolve[DE, y[x], x]

Sind die Nullstellen des charakteristischen Polynoms rational, findet man diese auch mit dem Factor-Kommando:

Map[Factor, charpol]