Funktionen > Lösen und Optimieren > Lösungsalgorithmen für Differentialgleichungen > Problemlöser für partielle Differentialgleichungen
  
Problemlöser für partielle Differentialgleichungen
numol(x_endpts, xpts, t_endpts, tpts, num_pde, num_pae, pde_func, pinit, bc_func)
Übergibt eine Matrix [xpts x tpts] mit den Lösungen für die eindimensionale partielle Differentialgleichung in pde_func. Jede Spalte steht für eine Lösung über einem eindimensionalen Raum zu einer einzigen Lösungszeit. Für ein Gleichungssystem wird die Lösung der einzelnen Funktionen horizontal angefügt, sodass die Matrix immer xpts Zeilen und tpts * (num_pde + num_pae) Spalten hat. Die Lösung wird mit dem zeilenweisen numerischen Verfahren gefunden.
Argumente
x_endpts, t_endpts sind Spaltenvektoren mit zwei Elementen, die die reellen Endpunkte der Integrationsbereiche angeben.
xpts, tpts stellen die ganzzahlige Anzahl der Punkte im Integrationsbereich dar, dem sich der Wert der Lösung annähert.
num_pde, num_pae stellen die ganzzahlige Anzahl partieller Differential- und partieller algebraischer Gleichungen dar. num_pde muss mindestens 1 betragen, num_pae kann 0 oder größer sein.
pde_func ist eine Vektorfunktion von x, t, u, ux und uxx der Länge (num_pde + num_pae). Sie enthält die rechte Seite der partiellen Differentialgleichungen bzw. der partiellen algebraischen Gleichungen und setzt für alle linken Seiten den Wert ut voraus. Die Lösung u wird als Funktionsvektor angenommen.
Wenn Sie mit einem System partieller Differentialgleichungen arbeiten, wird jeder Wert u in jeder Zeile von pde_func durch eine Tiefstellung unter Verwendung des Indexoperators sowie des tiefgestellten Buchstabenindex-Operators definiert. Beispielsweise bezieht sich u[0 auf die erste Funktion im System und ux[1 auf die erste Ableitung der zweiten Funktion im System.
pinit ist eine Vektorfunktion von x der Länge (num_pde + num_pae) mit Anfangsbedingungen für jede Funktion im System.
bc_func ist eine Matrix num_pde * 3, die Zeilen der folgenden Form enthält:
Für Dirichlet-Randbedingungen
[bc_left(t)
bc_right(t)
"D"]
oder
Für Neumann-Randbedingungen
[bc_left(t)
bc_right(t)
"N"]
Falls die partielle Differentialgleichung für die zugehörige Zeile partielle zweite Ableitungen enthält, sind sowohl die linken als auch die rechten Bedingungen erforderlich.
Wenn eine bestimmte partielle Differentialgleichung nur partielle erste Ableitungen enthält, sollte eine der beiden Randbedingungsfunktionen durch "NA" ersetzt werden. Der letzte Eintrag in der Zeile ist immer "D.".
Wenn für eine bestimmte Gleichung im System keine partiellen Ableitungen vorhanden sind, wird diese Zeile in der Matrix ignoriert und kann mit ("NA" "NA" "D") ausgefüllt werden.
Zusätzliche Informationen
Algebraische Nebenbedingungen sind zulässig, z.B. 0 = u2(x) + v2(x) − w(x) für alle x.
Die erforderliche Anzahl an Randbedingungen entspricht der Ordnung der räumlichen Ableitung der jeweiligen partiellen Differentialgleichung. Somit ist eine eindeutige Lösung gewährleistet.
Mit numol können nur hyperbolische und parabolische partielle Differentialgleichungen gelöst werden. Verwenden Sie für eine elliptische Gleichung, z.B. eine Poisson-Gleichung, relax oder multigrid.