Vorige: , Nach oben: Differentialgleichungen   [Inhalt][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

Vorige: , Nach oben: Differentialgleichungen   [Inhalt][Index]