Homogene lineare Differentialgleichungen

Beispiel 4.4

Wir betrachten die Differentialgleichung

DE = y'''[x] + 3  y''[x] + 3  y'[x] + 2  y[x] == 
        0

mit dem charakteristischen Polynom

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

Das charakteristische Polynom hat die komplexen Lösungen:

lösung = Solve[charpol]

lösung = 
      MapAll[ComplexExpand, lösung]

Entsprechend erhalten wir die Lösungsbasis der Differentialgleichung DE:

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

reellebasis = 
      Union[ComplexExpand[Re[komplexebasis]], 
        ComplexExpand[Im[komplexebasis]]]

reellebasis = {reellebasis[[2]], reellebasis[[3]], 
        reellebasis[[5]]}

DSolve liefert:

DSolve[DE, y[x], x]

Wir lösen nun ein Anfangswertproblem mit y(0)=3, y'(0)=0, y''(0)=2:

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[reellebasis, x] /. x -> 0

gleichungssystem = (WronskiMatrix[reellebasis, x] /. 
              x -> 0) . {{c[1]}, {c[2]}, {c[
                3]}} == {{3}, {0}, {2}}

LinearSolve[(WronskiMatrix[reellebasis, x] /. x -> 0), {3, 0, 
        2}]

sol = 
      Solve[Flatten[(WronskiMatrix[reellebasis, x] /. 
                  x -> 0) . {{a}, {b}, {c}}] == {3, 0, 2}, {a, b, 
          c}]

lösung = {a, b, c} . reellebasis /. sol[[1]]

Wir setzen die Lösung in die Differentialgleichung ein

ausdruck = 
      DE /. {y -> 
            Function[{x}, Evaluate[lösung]]}

Simplify[ausdruck]

und berechnen die Anfangswerte:

Table[D[lösung, {x, k}], {k, 0, 2}] /. 
      x -> 0

Inhomogene lineare Differentialgleichungen

Faktorisierungsmethode

DE = y'''[x] - y'[x]

charakteristisches Polynom

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

Factor[charpol]

homogene Gleichung

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

Iterative Methode: Wir lösen (nach Faktorisierung) zuerst eine inhomogene Differentialgleichung erster Ordnung:

lösung = 
      DSolve[u'[x] == (E^x) + (E^(2  x)), u [x], x] // 
        Simplify

U[x_] = 
      Evaluate[u[x] /. lösung[[1]] /. 
          C[1] -> 0]

Zweiter Schritt:

lösung = 
      DSolve[v'[x] + v[x] == U[x], v[x], x] // Simplify

V[x_] = 
      Evaluate[v[x] /. lösung[[1]] /. 
          C[1] -> 0]

Letzter Schritt:

lösung = 
      DSolve[y'[x] - y[x] == V[x], y[x], x] // Simplify

Y[x_] = 
      Evaluate[y[x] /. lösung[[1]] /. C[1] -> 0] // 
        Expand

Vergleich: DSolve

DSolve[DE == (E^x) + (E^(2  x)), y[x], x] // Simplify

Ansatzmethode

Beispiel (a):

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

homogene Gleichung

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

inhomogene Gleichung

Lösung = 
      DSolve[DE == 1 + x + (x^2), y[x], x]

Wir verwenden den Ansatz

ansatz = a (x^2) + b x  + c

Bevor wir ihn einsetzen, schreiben wir den Ansatz als Funktion:

Function[{x}, Evaluate[ansatz]]

und setzen dies in die inhomogene Differentialgleichung ein:

ausdruck = 
      DE - (1 + x + (x^2)) /. {y -> 
            Function[{x}, Evaluate[ansatz]]}

Koeffizientenvergleich liefert

lösung = 
      Solve[CoefficientList[ausdruck, x] == 0, {a, b, c}]

Also haben wir die spezielle Lösung der inhomogenen Differentialgleichung gefunden:

ansatz /. lösung[[1]]

Vergleich:

Lösung

(b)

DE = y'''[x] - y'[x]

homogene Gleichung

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

inhomogene Gleichung

Lösung = 
      DSolve[DE == (E^x) + (E^(2  x)), y[x], x]

Wir verwenden den Ansatz

ansatz = a (E^(2  x)) + b x (E^x)

und setzen dies in die inhomogene Differentialgleichung ein:

ausdruck = 
      DE - ((E^x) + (E^(2  x))) /. {y -> 
            Function[{x}, Evaluate[ansatz]]}

Koeffizientenvergleich liefert

lösung = 
      Solve[{Coefficient[ausdruck, (E^x)], 
            Coefficient[ausdruck, (E^(2  x))]} == 0, {a, 
          b}]

Also haben wir die spezielle Lösung der inhomogenen Differentialgleichung gefunden:

ansatz /. lösung[[1]]

Vergleich:

Lösung

(c)

DE = y''[x] - 3  y'[x] + 2  y[x]

homogene Gleichung

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

inhomogene Gleichung

Lösung = DSolve[DE == Sin[x], y[x], x]

Wir verwenden den Ansatz

ansatz = a Sin[x] + b Cos[x]

und setzen dies in die inhomogene Differentialgleichung ein:

ausdruck = 
      DE - (Sin[x]) /. {y -> 
            Function[{x}, Evaluate[ansatz]]}

Koeffizientenvergleich liefert

lösung = 
      Solve[{Coefficient[ausdruck, Sin[x]], 
            Coefficient[ausdruck, Cos[x]]} == 0, {a, b}]

Also haben wir die spezielle Lösung der inhomogenen Differentialgleichung gefunden:

ansatz /. lösung[[1]]

Vergleich:

Lösung

Differentialgleichungssysteme

Beispiel 3.1

dgl = {y1'[x] == -2 y1[x] + y2[x], y2'[
            x] == -2 y2[x] + Exp[-2 x]/x}

lösung = DSolve[dgl, {y1[x], y2[x]}, x]

schrittweise:

lösung2 = DSolve[dgl[[2]], y2[x], x]

dgl[[1]] /. lösung2[[1]]

DSolve [dgl[[1]] /. lösung2[[1]], y1[x], 
      x]

Vergleich:

lösung

Beispiel 3.9

DSolve[{y1'[x] == 3  y1[x] - x, y2'[x] == 
          y1[x] - y2[x], y1[0] == 2, y2[0] == 1}, {y1[x], y2[x]}, 
      x]