Matlab Pde Toolbox: Zeichnen Sie die Lösung in einer Linie oder auf einer Untervielfalt

9

Ich verwende die Matlab pde-Toolbox, um eine bestimmte elliptische Gleichung in 2D zu lösen.

Die Lösung ist in Ordnung, obwohl ich sie entlang einer bestimmten Linie zeichnen muss, dh um eine planare Schicht aus dem 3D-Netz zu schneiden, das die Lösung darstellt.

Ich kann nicht herausfinden, wie die Toolbox-Funktionen intelligent einbezogen werden (dh keine Interpolation auf niedriger Ebene für das Dreiecksnetz).

Jede Hilfe geschätzt.

Acorbe
quelle

Antworten:

3

Ich habe die gleiche Frage auf MATLAB Central gestellt , und Bill Greene hat mir freundlicherweise eine Antwort gegeben .

Ich berichte kurz und erweitere es, damit es für andere nützlich sein kann.

Lösung von Bill:

Hier ist eine Möglichkeit, ein solches Diagramm zu erstellen. Angenommen, Sie haben die vom PDE Toolbox-Mesher p erstellte Punktmatrix und einen Lösungsvektor u. Die folgende Funktion erstellt ein Diagramm dieser Lösung entlang einer Linie, die durch die x- und y-Positionen der beiden Endpunkte definiert ist. Mein Beispiel ist eine Lösung auf einem Einheitsquadrat und ich möchte ein Diagramm entlang der Linie (0, .5) bis (1, .5). Ich möchte 25 Punkte in die Handlung aufnehmen. Wie Sie sehen können, wird die eigentliche Arbeit von der TriScatteredInterpFunktion aus Kern-MATLAB erledigt .

plotAlongLine(p, u, [0,.5], [1,.5], 25);

function plotAlongLine(p, u, xy1, xy2, numpts)
    x = linspace(xy1(1),xy2(1),numpts);
    y = linspace(xy1(2),xy2(2),numpts);
    F = TriScatteredInterp(p(1,:)', p(2,:)', u);
    uxy = F(x,y);
    figure; plot(x, uxy);  //REM: x is chosen here as a curvilinear coordinate
end

Ich möchte weiter darauf hinweisen, dass die vorherige Funktion es ermöglicht, die Lösung uoder ihre Funktionen zu zeichnen f(u), sofern usie auf Netzknoten definiert sind (wie dies normalerweise bei FEM-approximierten Lösungen der Fall ist).

Wenn man Abschnitte von Funktionen zeichnen muss, die auf Netzzentren definiert sind (z. B. Funktionen von grad u), kann sie im Voraus die Funktion verwenden, pdeprtnidie Knotenwertfunktionen aus Mittelwertfunktionen erzeugt .

Acorbe
quelle