Previous: Einführung in Differentialgleichungen, Up: Differentialgleichungen [Contents][Index]

#### 16.4.2 Funktionen und Variablen für Differentialgleichungen

Funktion: bc2 (solution, xval1, yval1, xval2, yval2)

  Löst das Randwertproblem einer Differentialgleichung 2. Ordnung. Das Argument solution ist eine allgemeine Lösung, wie sie von der Funktion `ode2` zurückgegeben wird. xval1 gibt den Wert der unabhängigen Variablen im ersten Randpunkt an. Der Randwert wird als ein Ausdruck `x = x1` angegeben. Das Argument yval1 gibt den Wert der abhängigen Variablen in diesem Punkt an. Der Randwert wird als `y = y1` angegeben. Mit den Argumenten xval2 und yval2 werden die entsprechenden Werte an einem zweiten Randpunkt angegeben.

  Siehe die Funktion `ode2` für Beispiele.

Funktion: desolve (eqn, x)
Funktion: desolve ([eqn_1, …, eqn_n], [x_1, …, x_n])

  Die Funktion `desolve` löst lineare Systeme gewöhnlicher Differentialgleichungen mit Hilfe der Methode der Laplacetransformation. Die Argumente eqn_i sind die Differentialgleichungen mit den abhängigen Variablen x_1, …, x_n. Die funktionale Abhängigkeit der Variablen x_1, …, x_n zum Beispiel von einer Variablen x muss explizit für die Variablen und ihrer Ableitungen angegeben werden. Zum Beispiel ist sind die folgenden zwei Gleichungen keine korrekte Definition:

      eqn_1: 'diff(f,x,2) = sin(x) + 'diff(g,x);
      eqn_2: 'diff(f,x) + x^2 - f = 2*'diff(g,x,2);

  Eine korrekte Definition der zwei Gleichungen ist

      eqn_1: 'diff(f(x),x,2) = sin(x) + 'diff(g(x),x);
      eqn_2: 'diff(f(x),x) + x^2 - f(x) = 2*'diff(g(x),x,2);

  Die Funktion `desolve` wird dann folgendermaßen aufgerufen

      desolve([eqn_1, eqn_2], [f(x),g(x)]);

  Sind Anfangswerte für `x=0` bekannt, können diese mit der Funktion `atvalue` vor dem Aufruf der Funktion `desolve` angegeben werden.

      (%i1) 'diff(f(x),x)='diff(g(x),x)+sin(x);
                       d           d
      (%o1)            -- (f(x)) = -- (g(x)) + sin(x)
                       dx          dx
      (%i2) 'diff(g(x),x,2)='diff(f(x),x)-cos(x);

                        2
                       d            d
      (%o2)            --- (g(x)) = -- (f(x)) - cos(x)
                         2          dx
                       dx

      (%i3) atvalue('diff(g(x),x),x=0,a);
      (%o3)                           a
      (%i4) atvalue(f(x),x=0,1);
      (%o4)                           1
      (%i5) desolve([%o1,%o2],[f(x),g(x)]);

                        x
      (%o5) [f(x) = a %e  - a + 1, g(x) =
                                                      x
                                         cos(x) + a %e  - a + g(0) - 1]

      (%i6) [%o1,%o2],%o5,diff;
                   x       x      x                x
      (%o6)   [a %e  = a %e , a %e  - cos(x) = a %e  - cos(x)]

  Kann `desolve` keine Lösung finden, ist die Rückgabe `false`.

Funktion: ic1 (solution, xval, yval)

  Löst das Anfangswertproblem für eine Differentialgleichung 1. Ordnung. Das Argument solution ist eine allgemeine Lösung der Differentialgleichung, wie sie von der Funktion `ode2` zurückgegeben wird. Mit dem Argument xval wird der Anfangswert der unabhängigen Variablen in der Form `x = x0` angegeben. Mit dem Argument yval wird der Anfangswert der unabhängigen Variablen in der Form `y = y0` angegeben.

  Siehe die Funktion `ode2` für ein Beispiel.

Funktion: ic2 (solution, xval, yval, dval)

  Löst das Anfangswertproblem für eine Differentialgleichung 2. Ordnung. Das Argument solution ist eine allgemeine Lösung der Differentialgleichung, wie sie von der Funktion `ode2` zurückgegeben wird. Mit dem Argument xval wird der Anfangswert der unabhängigen Variablen in der Form `x = x0` angegeben. Mit dem Argument yval wird der Anfangswert der abhängigen Variablen in der Form `y = y0` angegeben. Mit dem Argument dval wird der Anfangswert der ersten Ableitung der abhängigen Variablen nach der unabhängigen Variablen in der Form `diff(y,x) = dy0` angegeben. Dem Symbol `diff` muss kein `Quote-Operator` `'` vorangestellt werden.

  Siehe auch `ode2` für ein Beispiel.

Funktion: ode2 (eqn, dvar, ivar)

  Die Funktion `ode2` löst eine gewöhnliche Differentialgleichung der ersten oder zweiten Ordnung. Die Funktion hat drei Argumente: die Differentialgleichung eqn, die abhängige Variable `dvar` und die unabhängige Variable `ivar`. Ist die Funktion `ode2` erfolgreich wird eine explizite oder implizite Lösung für die abhängige Variable zurückgegeben. Im Fall einer Differentialgleichung 1. Ordnung wird die Integrationskonstante mit `%c` bezeichnet. Für eine Differentialgleichung 2. Ordnung werden die Integrationskonstanten mit `%k1` und `%k2` bezeichnet. Die Abhängigkeit der abhängigen Variable von der unabhängigen Variablen muss nicht explizit, wie im Fall von `desolve` angegeben werden.

  Kann `ode2` keine Lösung finden, ist die Rückgabe `false`. Gegebenenfalls wird eine Fehlermeldung ausgegeben. Folgende Methoden werden für das Lösen einer Differentialgleichung 1. Ordnung nacheinander angewendet: linear, separierbar, exakt - wenn notwendig unter Zuhilfenahme eines Integrationsfaktors, homogen, bernoullische Differentialgleichung und eine Methode für verallgemeinerte homogene Gleichungen. Für eine Differentialgleichung 2. Ordnung kommen die folgenden Methoden zur Anwendung: konstante Koeffizienten, exakt, linear homogen mit nicht-konstanten Koeffizienten, die zu konstanten Koeffizienten transformiert werden können, eulersche Differentialgleichung, Variation der Parameter, Reduktion auf eine Differentialgleichung 1. Ordnung, wenn die Differentialgleichung entweder frei von der unabhängigen oder der abhängigen Variablen ist.

  Im Laufe des Lösungsverfahrens werden zur Information des Nutzers globale Variablen gesetzt: `method` bezeichnet die Methode, die von `ode2` zum Auffinden der Lösung verwendet wurde. `intfactor` bezeichnet einen verwendeten Integrationsfaktor. `odeindex` bezeichnet den Index der bernoullischen Gleichung oder der verallgemeinerte Methode für eine homogene Differentialgleichung. `yp` bezeichnet eine partikuläre Lösung, wenn die Variation der Parameter angewendet wird.

  Für das Lösen von Anfangswertproblemen einer Differentialgleichung 1. oder 2. Ordnung können die Funktionen `ic1` und `ic2` verwendet werden. Ein Randwertproblem für eine Differentialgleichung 2. Ordnung kann mit der Funktion `bc2` gelöst werden.

  Beispiele:

      (%i1) x^2*'diff(y,x) + 3*y*x = sin(x)/x;
                            2 dy           sin(x)
      (%o1)                x  -- + 3 x y = ------
                              dx             x
      (%i2) ode2(%,y,x);
                                   %c - cos(x)
      (%o2)                    y = -----------
                                        3
                                       x
      (%i3) ic1(%o2,x=%pi,y=0);
                                    cos(x) + 1
      (%o3)                   y = - ----------
                                         3
                                        x
      (%i4) 'diff(y,x,2) + y*'diff(y,x)^3 = 0;
                               2
                              d y      dy 3
      (%o4)                   --- + y (--)  = 0
                                2      dx
                              dx
      (%i5) ode2(%,y,x);
                            3
                           y  + 6 %k1 y
      (%o5)                ------------ = x + %k2
                                6
      (%i6) ratsimp(ic2(%o5,x=0,y=0,'diff(y,x)=2));
                                   3
                                2 y  - 3 y
      (%o6)                   - ---------- = x
                                    6
      (%i7) bc2(%o5,x=0,y=1,x=1,y=3);

                               3
                              y  - 10 y       3
      (%o7)                   --------- = x - -
                                  6           2

Previous: Einführung in Differentialgleichungen, Up: Differentialgleichungen [Contents][Index]