Funktionen > Lösen und Optimieren > Lösungsalgorithmen für Differentialgleichungen > Relaxationsverfahren für eine partielle Differentialgleichung
Relaxationsverfahren für eine partielle Differentialgleichung
relax(A, B, C, D, E, S, U, rjac)
multigrid(M, ncycle)
Gibt eine quadratische Matrix zurück, in der die Position eines Elements in der Matrix seiner Position in einem quadratischen Bereich entspricht und der Wert eines Elements die Lösung der Poissonschen partiellen Differentialgleichung (PDG) am besten darstellt
an diesem Punkt. Die Funktion relax löst die Poisson-Gleichung mittels modifiziertem Gauss-Seidel-Verfahren mit schrittweiser Überrelaxation über dem Gitter.
Die Funktion multigrid verwendet das multigrid-Verfahren, um Lösungen für den Spezialfall zu ermitteln, bei dem alle Randbedingungen in U null sind.
Wenn Ihre Randbedingungen auf allen vier Seiten konstant und gleich sind, können Sie die Gleichung transformieren, damit Sie auf allen Seiten 0l Randbedingungen haben, und dann die Funktion multigrid verwenden, die schneller und einfacher einzurichten ist.
Im Fall ρ = 0 reduziert sich die Poisson-Gleichung auf die Laplace-Gleichung.
Wenn Sie eine hyperbolische oder parabolische Teildifferentialgleichung oder ein System von Teildifferentialgleichungen lösen möchten, verwenden Sie die Funktion numol.
Argumente
A, B, C, D, E sind reelle, gleich große, quadratische Matrizen mit Koeffizienten der diskretisierten Laplaceschen Annäherung an die Funktion u bei den vier nächsten Nachbarn und dem Näherungspunkt.
S ist eine quadratische Matrix, die für alle Punkte innerhalb des Quadrats den Quellterm enthält.
U ist eine quadratische Matrix, die Grenzwerte entlang den Rändern des Bereichs sowie Anfangsschätzwerte für die Lösung innerhalb des Bereichs enthält.
rjac ist ein reeller Wert 0 < rjac < 1, der Spektralradius der Jacobi-Iteration. Hiermit wird die Konvergenz des Relaxationsalgorithmus bestimmt.
Der optimale Wert für rjac hängt von den Details Ihres Problems ab. r ist ein guter Anfangswert, wobei n der Anzahl der Punkte in jeder Richtung im Gitter entspricht:
M ist eine quadratische Matrix der Größe 1 + 2n, deren Elemente dem Quellterm am entsprechenden Punkt im Quadratgebiet entsprechen.
ncycle ist die ganzzahlige Anzahl der Zyklen auf jeder Ebene der multigrid-Iteration.
Der ncycle-Wert 2 gibt im Allgemeinen eine gute Annäherung an die Lösung.
War dies hilfreich?