2 Gnu Octave | |
→ | 2.13 Plotten |
Funktionsgebirge über der xy-Ebene |
Linienzug |
Weitere 3D-Plot-Befehle |
Mit
mesh(x, y, z);
wird ein dreidimensionales Funktionsgebirge gezeichnet.
x und y sind Vektoren mit den entsprechenden
Koordinaten, z ist eine Matrix. Spalten von z gehören
zu einem x-Wert, Zeilen zu einem y-Wert.
Für die Berechnung der z-Matrix ist der Befehl
[XX, YY] = meshgrid(x, y);
sinnvoll.
Er erzeugt 2 Matrizen, beide Matrizen sind gleich groß: Die
Spaltenanzahl ist gleich der Elementeanzahl von x, die
Zeilenanzahl der Elementeanzahl von y.
Jede Zeile in XX ist der Vektor x, notfalls zum
Zeilenvektor umgewandelt. Jede Spalte von YY ist der Vektor
y, notfalls zum Spaltenvektor umgewandelt.
Beispiel für meshgrid():
x = [1 2 3]'; y = [4 5]; [XX, YY] = meshgrid(x, y) → XX = → → 1 2 3 → 1 2 3 → → YY = → → 4 4 4 → 5 5 5
Wie man sieht werden zwei Matrizen erzeugt. Jede Position (i,j) kombiniert ein Element des x-Vektors mit einem Element des y-Vektors auf genau die Art und Weise, wie sie für die Berechnung von z benötigt werden.
Die Abbildung oben wurde mit den Kommandos entsprechend dem nachfolgenden Beispiel erzeugt.
graphics_toolkit("gnuplot"); x = linspace(-pi/2, pi/2, 26)'; y = x; [XX, YY] = meshgrid(x, y); res = -1.0 .* sin(XX) .* sin(YY); mesh(x, y, res);
Mit
plot3(x, y, z, ...);
werden dreidimensionale Linienzüge geplottet. Sind x,
y und z Vektoren der gleichen Länge, so enthalten sie
die Koordinaten der Punkte.
Sind x, y und z gleich große Matrizen, so
enthält jede Spalte die Koordinaten für die Punkte eines
Linienzuges.
Die Online-Hilfe führt noch weitere mögliche Argumente von
plot3d auf, z.B. mit komplexen Argumenten.
Beispiel: Der Plot oben wurde mit den folgenden Kommandos erzeugt:
graphics_toolkit("gnuplot"); sz = 201; x = linspace(0, 1, sz); phi = linspace(0, 6*pi, sz); y = cos(phi); z = sin(phi); plot3(x, y, z);
Die Folgeseite zeigt Beispielbilder für weitere Plot-Befehle.