Differentialgleichungen

Logistische Differentialgleichung

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]
]

DE = y'[x] == α y[x] - β y[x]^2

plot1 = 
      DirectionField[DE /. {α -> 1, β -> (1/5)}, 
        y[x ], {x, 0, 10}, {y, 0, 5}, Frame -> True]

plot2 = 
      Plot[Evaluate[y[
                x] /. DSolve[{DE, y[0] == 1}, y[x], 
                  x][[1]] /. {α -> 1, β -> 
                (1/5)}], {x, 0, 10}, 
        PlotStyle -> Thickness[0.005]]

Show[plot1, plot2]

y[x] /. DSolve[{DE, y[0] == P}, y[x], x][[1]]

Schrittweise Lösung

DE

Gleichung = ∫(1/(α y - β (y^2))) \[DifferentialD]y == ∫1 \[DifferentialD]x

Solve[Gleichung, y]

Apart [(1/(α y - β (y^2))), y]

Zugehöriges Anfangswertproblem

Gleichung = (∫_P^y) 
                (1/(α s - β (s^2))) \[DifferentialD]s == (∫_0^x) 1 \[DifferentialD]t

Solve[Gleichung, y]

Wo ist der Wendepunkt? Wir leiten die Differentialgleichung ab und erhalten

D[DE, x]

zweiteableitung = D[DE, x] /. {Apply[Rule, DE]}

Map[Factor, zweiteableitung]

sol = Solve[zweiteableitung[[2]] == 0, y[x]]

Typen von Differentialgleichungen erster Ordnung

rechte Seite hängt nur von x ab:

DSolve[y'[x] == g[x], y[x], x]

DSolve[{y'[x] == g[x], y[x0] == y0}, y[x], 
      x]

rechte Seite hängt nur von y ab:

DSolve[y'[x] == h[y[x]], y[x], x]

DSolve[{y'[x] == h[y[x]], y[x0] == y0}, y[x], 
      x]

Separable Differentialgleichung

DSolve[y'[x] == g[x] h[y[x]], y[x], x]

Weitere Beispiele zur Separation der Variablen

Beispiel 1.21

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

plot1 = 
      DirectionField[DE, y[x ], {x, -5, 5}, {y, -5, 5}, 
        Frame -> True]

Einige Lösungen

DSolve[{DE, y[0] == 0}, y[x], x]

DSolve[{DE, y[0] == k}, y[x], x]

lösung = 
      y[x] /. DSolve[{DE, y[0] == k}, y[x], x][[1]]

liste = Table[lösung, {k, -3, 3, (1/3)}]

plot2 = 
      Plot[liste // Evaluate, {x, -5, 5}, 
        PlotStyle -> Thickness[0.003]]

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

Beispiel 1.23

DE = y'[x] == 
        x ((2  y[x]^2 - 2  y[x] - 4)/(2  y[x] - 1))

plot1 = 
      DirectionField[DE, y[x ], {x, -5, 5}, {y, -5, 5}, 
        Frame -> True]

Einige Lösungen

lösung = 
      y[x] /. DSolve[{DE, y[0] == k}, y[x], x]

liste1 = 
        Table[lösung[[1]], {k, -3, 3, 
            (1/3)}];

plot2 = 
      Plot[liste1 // Evaluate, {x, -5, 5}, 
        PlotStyle -> Thickness[0.003]]

liste2 = 
        Table[lösung[[2]], {k, -3, 3, 
            (1/3)}];

plot3 = 
      Plot[liste2 // Evaluate, {x, -5, 5}, 
        PlotStyle -> Thickness[0.003]]

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

Beispiel 1.24

DE = y'[x] == 
        Sin[((x + y[x])/2)] - Sin[((x - y[x])/2)]

plot1 = 
      DirectionField[DE, y[x ], {x, -5, 5}, {y, -5, 5}, 
        Frame -> True]

Mathematica findet keine Lösungen

lösung = 
      y[x] /. DSolve[{DE, y[0] == k}, y[x], x]

Dies muss abgebrochen werden. Also helfen wir nach:

DE = Map[TrigExpand, DE]

DSolve[DE, y[x], x]

muss ebenfalls abgebrochen werden. Wir lösen die Differentialgleichung schrittweise:

gleichung = ∫(1/Sin)[
                  (y/2)] \[DifferentialD]y == ∫Cos[
              (x/2)] \[DifferentialD]x

Solve[gleichung, y]

mit vier Lösungen. Das Anfangswertproblem

gleichung = (∫_y0^y) 
                (1/Sin)[(s/2)] \[DifferentialD]s == (∫_x0^x) 
              Cos[(t/2)] \[DifferentialD]t

Solve[gleichung, y]

hat zwei Lösungen. Das können wir von Hand besser.

lösung = 
      4 ArcTan[Tan[(y0/2)] Exp[2 Sin[(x/2)] - 2  Sin[(x0/2)]]]

plot2 = 
      Plot[Evaluate[
          Table[lösung /. x0 -> 0, {y0, -3, 
              3}]], {x, -5, 5}, 
        PlotStyle -> Thickness[0.003]]

Show[plot1, plot2, PlotRange -> {-6, 6}]