Nächste: Grafikoptionen, Vorige: Grafikformate, Nach oben: Grafische Darstellung [Inhalt][Index]
Zeichnet einen Konturgraphen (die Isolinien einer Funktion) von expr im
Bereich x_range und y_range mit den Optionen options.
expr ist ein Ausdruck oder der Name einer Funktion f(x,y)
mit zwei
Argumenten. Alle weiteren Argumente entsprechen denen der Funktion
plot3d
.
Die Funktion steht nur für die Grafikformate gnuplot
und
gnuplot_pipes
zur Verfügung. Das Paket implicit_plot
enthält
die Funktion implicit_plot
mit der für alle Grafikformate Konturgraphen
erstellt werden können.
Beispiele:
(%i1) contour_plot(x^2 + y^2, [x, -4, 4], [y, -4, 4])$
Es kann jede Option genutzt werden, die von der Funktion plot3d
akzeptiert wird. Standardmäßig zeichnet Gnuplot den Graphen mit 3
Isolinien. Die Anzahl der Isolinien kann mit der Gnuplot-Option
gnuplot_preamble
erhöht werden. In diesem Beispiel werden 12 Isolinien
gezeichnet und die Legende ist entfernt.
(%i1) contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4], [legend,false], [gnuplot_preamble, "set cntrparam levels 12"])$
Gibt die Werte der Parameter der Option mit dem Namen keyword zurück.
Die Optionen und ihre Parameter sind in der Variablen plot_options
gespeichert. Hat index den Wert 1 wird der Name der Option keyword
zurückgeben. Der Wert 2 für index gibt den Wert des ersten Parameters
zurück, und so weiter.
Siehe auch plot_options
, set_plot_option
und das Kapitel
Grafikoptionen.
Beispiel:
(%i1) get_plot_option(color,1); (%o1) color (%i2) get_plot_option(color,2); (%o2) blue (%i3) get_plot_option(color,3); (%o3) red
Zeichnet den Graphen eines oder mehrerer Ausdrücke, die implizit gegeben sind.
expr ist der Ausdruck der gezeichnet werden soll, x_range ist der
Wertebereich der x-Achse und y_range der Wertebereich der y-Achse. Die
Funktion implicit_plot
beachtet die Werte der Parameter der
Grafikoptionen, die in der Systemvariablen plot_options
enthalten sind.
Grafikoptionen können auch als Argumente übergeben werden.
Der Algorithmus von implicit_plot
stellt Vorzeichenwechsel der Funktion
in den Bereichen x_range und y_range fest. Für komplizierte
Flächen kann der Algorithmus versagen.
Die Funktion wird mit dem Kommando load("implicit_plot")
geladen.
Beispiel:
(%i1) load("implicit_plot")$ (%i2) implicit_plot (x^2 = y^3 - 3*y + 1, [x, -4, 4], [y, -4, 4])$
Gibt eine Funktion zurück, die als Parameter für die Grafikoption
transform_xy
geeignet ist. Die zwei Argumente var1 und var2
repräsentieren die zwei unabhängigen Variablen der Funktion plot3d
.
Das dritte Argument var3 ist die Funktion, die von den zwei Variablen
abhängt. Die drei Funktionen fx, fy und fz müssen von
den drei Argumenten var1, var2 und var3 abhängen und die
Argumente der Funktion plot3d
in kartesische Koordinaten für die
Ausgabe des Graphen transformieren.
Die Transformationen polar_to_xy
für die Transformation von
Polarkoordinaten und spherical_to_xyz
für die Transformation von
Kugelkoordinaten in kartesische Koordinaten sind bereits definiert.
Beispiel:
Definition der Transformation von Zylinderkoordinaten nach kartesischen
Koordinaten. Die Definition ist identisch mit der für polar_to_xy
.
Der Graph zeigt einen Kegel.
(%i1) cylinder_to_xy:make_transform([r,phi,z],r*cos(phi), r*sin(phi),z)$ (%i2) plot3d(-r,[r,0,3],[phi,0,2*%pi], [transform_xy, cylinder_to_xy])$
Kann als Parameter der Grafikoption transform_xy
der Funktion
plot3d
übergeben werden. Der Parameter polar_to_xy
bewirkt,
dass die zwei unabhängigen Variablen der Funktion plot3d
von
Polarkoordinaten in kartesische Koordinaten transformiert werden.
Für ein Beispiele siehe make_transform
.
plot, plot_1, …, plot_n sind Ausdrücke, Namen von
Funktionen oder Listen, mit denen diskrete Punkte oder Funktionen in einer
parametrischen Darstellung angegeben werden. Diskrete Punkte können als
[discrete, [x1, ..., xn], [y1, ..., yn]]
oder als
[discrete, [[x1, y1], ..., [xn, ..., yn]]
angegeben werden. Eine parametrische Darstellung hat die Form
[parametric, x_expr, y_expr, t_range]
.
Die Funktion plot2d
zeichnet einen zweidimensionalen Graphen einer oder
mehrerer Ausdrücke als Funktion einer Variablen oder eines Parameters. Mit
der Grafikoption x_range wird der Name der unabhängigen Variablen und
deren Bereich angegeben. Die Syntax der Grafikoption x_range ist:
[variable, min, max]
.
Ein diskreter Graph wird durch eine Liste definiert, die mit dem Schlüsselwort disrecte beginnt. Es folgen ein oder zwei Listen mit den Werten. Werden zwei Listen übergeben, müssen diese dieselbe Länge haben. Die Daten der ersten Listen werden als die x-Koordinaten der Punkte und die der zweiten als die y-Koordinaten der Punkte interpretiert. Wird nur eine Liste übergeben, sind die Elemente Listen mit je zwei Elementen, die die x- und y-Koordinaten der Punkte repräsentieren.
Ein parametrischer Graph wird durch eine Liste definiert, die mit dem
Schlüsselwort parametric beginnt. Es folgen zwei Ausdrücke oder
Namen von Funktionen und ein Parameter. Der Bereich für den Parameter muss
eine Liste sein, die den Namen des Parameters, seinen größten und seinen
kleinsten Wert enthält: [parameter, min, max]
. Der
Graph ist der Weg für die zwei Ausdrücke oder Namen von Funktionen, wenn
der Parameter parameter von min nach max zunimmt.
Als optionales Argument kann ein Wertebereich für die vertikale
Koordinatenachse mit der Grafikoption y
angegeben werden:
[y, min, max]
. Die vertikale Achse wird immer mit dem
Schlüsselwort y
bezeichnet. Wird kein Wertebereich y
angegeben,
wird dieser durch den größten und kleinsten y
-Wert des zu
zeichnenden Graphen festgelegt.
Auch alle anderen Grafikoptionen werden als Listen angegeben, die mit einem
Schlüsselwort beginnen, auf das die Parameter der Grafikoption folgen. Siehe
plot_options
.
Werden mehrere Graphen gezeichnet, wird eine Legende hinzugefügt, die die einzelnen Graphen unterscheidet. Mit der Grafikoption legend können die Bezeichnungen für die Legende festgelegt werden. Wird diese Option nicht genutzt, generiert Maxima die Bezeichnungen der Legende aus den Ausdrücken oder Namen der Funktionen, die als Argument übergeben wurden.
Siehe auch das Kapitel Grafikoptionen
.
Beispiele:
Graph einer einfachen Funktion.
(%i1) plot2d (sin(x), [x, -%pi, %pi])$
Wächst die Funktion sehr schnell, kann es notwendig sein, die Werte auf der
vertikalen Achse mit der Grafikoption y
zu begrenzen.
(%i1) plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
Die Ansicht eines Graphen kann sich für verschiedene Grafikprogramme
unterscheiden. In Xmaxima bewirkt die Grafikoption [box, false]
, das die
Koordinatenachsen mit Pfeilen dargestellt werden.
(%i1) plot2d ( x^2 - 1, [x, -3, 3], [box, false], grid2d, [yx_ratio, 1], [axes, solid], [xtics, -2, 4, 2], [ytics, 2, 2, 6], [label, ["x", 2.9, -0.3], ["x^2-1", 0.1, 8]], [title, "A parabola"])$
Ein Graph mit einer logarithmischen Skala:
(%i1) plot2d (exp(3*s), [s, -2, 2], logy)$
Graphen von Funktionen, deren Namen als Argumente übergeben werden.
(%i1) F(x) := x^2 $
(%i2) :lisp (defun |$g| (x) (m* x x x)) $g
(%i2) H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $ (%i3) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
Graph einer parametrisch definierten Schmetterlingskurve.
(%i1) r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$ (%i2) plot2d([parametric, r*sin(t), r*cos(t), [t, -8*%pi, 8*%pi]])$
Graph der Funktion abs(x)
und eines parametrischen Kreises. Das
Seitenverhältnis der Grafik wurde mit den Grafikoptionen same_xy
.
(%i1) plot2d([[parametric, cos(t), sin(t), [t,0,2*%pi]], -abs(x)], [x, -sqrt(2), sqrt(2)], same_xy)$
Graph für diskrete Punkte. Die Punkte sind in zwei separaten Listen jeweils für die x- und y-Koordinaten angegeben. Standardmäßig werden die Punkte mit einer Linie verbunden.
(%i1) plot2d ([discrete, makelist(i*%pi, i, 1, 5), [0.6, 0.9, 0.2, 1.3, 1]])$
In diesem Beispiel wird eine Tabelle mit drei Spalten in eine Datei
data.txt
gespeichert. Die Datei wird gelesen und die zweite und dritte
Spalte werden gezeichnet.
(%i1) with_stdout ("data.txt", for x:0 thru 10 do print (x, x^2, x^3))$
(%i2) data: read_matrix ("data.txt")$
(%i3) plot2d ([discrete, transpose(data)[2], transpose(data)[3]], [style,points], [point_type,diamond], [color,red])$
Graph von experimentellen Datenpunkten zusammen mit einer theoretischen Funktion, die die Daten beschreibt.
(%i1) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
(%i2) plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50], [style, points, lines], [color, red, blue], [point_type, asterisk], [legend, "experiment", "theory"], [xlabel, "pendulum's length (cm)"], [ylabel, "period (s)"])$
Zeichnet einen Graph mit einer oder mehreren Flächen, die als eine Funktion von zwei Variablen oder in parametrischer Form definiert sind.
Die zu zeichnenden Funktionen werden als Ausdrücke oder mit ihrem Namen als Argumente übergeben. Mit der Maus kann der Graph rotiert werden, um die Fläche aus verschiedenen Blickwinkeln zu betrachten.
Siehe auch das Kapitel Grafikoptionen.
Beispiele:
Graph einer einfachen Funktion.
(%i1) plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100], [mesh_lines_color,false])$
Mit der Grafikoption z
wird der Wertebereich der z-Achse begrenzt.
Dieses Beispiel zeigt den Graph ohne Färbung der Fläche.
(%i1) plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4], [palette, false], [color, magenta, blue])$
Unendlich große Werte der z-Koordinate können auch durch Wahl eines Gitters vermieden werden, das nicht mit einer der Asymptoten zusammenfällt. Das Beispiel zeigt zudem die Nutzung einer Palette.
(%i1) plot3d (log (x^2*y^2), [x, -2, 2], [y, -2, 2],[grid, 29, 29], [palette, [gradient, red, orange, yellow, green]], color_bar, [xtics, 1], [ytics, 1], [ztics, 4], [color_bar_tics, 4])$
Graph mit zwei Flächen mit verschiedenen Wertebereichen.
(%i1) plot3d ([[-3*x - y, [x, -2, 2], [y, -2, 2]], 4*sin(3*(x^2 + y^2))/(x^2 + y^2), [x, -3, 3], [y, -3, 3]], [x, -4, 4], [y, -4, 4])$
Graph der kleinschen Flasche, die parametrisch definiert ist.
(%i1) expr_1: 5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)-10$ (%i2) expr_2: -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)$ (%i3) expr_3: 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))$
(%i4) plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi], [y, -%pi, %pi], [grid, 50, 50])$
Graph einer Kugelfunktion, die vordefinierte Koordinatentransformation
spherical_to_xyz
wird verwendet, um von Kugelkoordinaten in ein
kartesisches Koordinatensystem zu transformieren.
(%i1) plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi], [phi, 0, 2*%pi], [transform_xy, spherical_to_xyz], [grid,30,60], [legend,false])$
Gebrauch der vordefinierten Funktion polar_to_xy
, um von
zylindrischen Koordinaten in ein kartesisches Koordinatensystem zu
transformieren. Siehe auch polar_to_xy
. Dieses Beispiel zeigt auch
wie der Rahmen und die Legende entfernt werden können.
(%i1) plot3d (r^.33*cos(th/3), [r,0,1], [th,0,6*%pi], [box, false], [grid, 12, 80], [transform_xy, polar_to_xy], [legend, false])$
Graph einer Kugel, wobei die Koordinatentransformation von Kugelkoordinaten in ein kartesisches Koordinatensystem genutzt wird.
(%i1) plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi], same_xyz, [transform_xy, spherical_to_xyz], [mesh_lines_color,blue], [palette,[gradient,"#1b1b4e", "#8c8cf8"]], [legend, false])$
Definition einer Funktion mit zwei Variablen als eine Matrix. Der
Quote-Operator '
in der Definition der Funktion verhindert,
das plot3d
fehlschlägt, wenn die Argumente keine ganze Zahlen sind.
(%i1) M: matrix([1,2,3,4], [1,2,3,2], [1,2,3,4], [1,2,3,3])$ (%i2) f(x, y) := float('M [round(x), round(y)])$
(%i3) plot3d (f(x,y), [x,1,4],[y,1,4],[grid,3,3],[legend,false])$
Wird die Höhenangabe elevation
auf Null gesetzt, kann die Fläche als
eine Karte betrachtet werden. Jede Farbe repräsentiert einen anderen Wert der
Fläche.
(%i1) plot3d (cos (-x^2 + y^3/4), [x,-4,4], [y,-4,4], [zlabel,""], [mesh_lines_color,false], [elevation,0], [azimuth,0], color_bar, [grid,80,80], [ztics,false], [color_bar_tics,1])$
Die Elemente dieser Liste definieren die Standardwerte für die Ausgabe von
Graphen. Ist einer der Werte ein Argument der Funktionen plot2d
oder
plot3d
, wird der Standardwert überschrieben. Die Standardwerte
können mit der Funktion set_plot_option
gesetzt werden. Einige
Grafikoptionen sind nicht in der Liste plot_options
enthalten.
Jedes Element der Liste plot_options
ist eine Liste mit zwei oder
mehr Einträgen. Der erste Eintrag ist der Name der Grafikoption. Die
weiteren Einträge sind die Parameter der Option. In einigen Fällen kann
der Parameter einer Option wiederum eine Liste sein.
Siehe auch set_plot_option
, get_plot_option
und das
Kapitel Grafikoptionen.
Akzeptiert die meisten der Optionen, die im Kapitel Grafikoptionen aufgelistet
sind und speichert diese in der globalen Variable plot_options
.
set_plot_options
wertet die Argumente aus und gibt die vollständige
Liste plot_optons
zurück.
Siehe auch plot_options
, get_plot_option
und das Kapitel
Grafikoptionen.
Beispiele:
Setze einen neue Werte für die Grafikoption grid
.
(%i1) set_plot_option ([grid, 30, 40]);
(%o1) [[t, - 3, 3], [grid, 30, 40], [transform_xy, false], [run_viewer, true], [axes, true], [plot_format, gnuplot_pipes], [color, blue, red, green, magenta, black, cyan], [point_type, bullet, circle, plus, times, asterisk, box, square, triangle, delta, wedge, nabla, diamond, lozenge], [palette, [hue, 0.25, 0.7, 0.8, 0.5], [hue, 0.65, 0.8, 0.9, 0.55], [hue, 0.55, 0.8, 0.9, 0.4], [hue, 0.95, 0.7, 0.8, 0.5]], [gnuplot_term, default], [gnuplot_out_file, false], [nticks, 29], [adapt_depth, 5], [gnuplot_preamble, ], [gnuplot_default_term_command, set term pop], [gnuplot_dumb_term_command, set term dumb 79 22], [gnuplot_ps_term_command, set size 1.5, 1.5;set term postscript \ eps enhanced color solid 24], [plot_realpart, false]]
Kann als Parameter für die Option transform_xy
der Funktion
plot3d
übergeben werden. Der Parameter spherical_to_xyz
bewirkt, dass die zwei unabhängigen Variablen und die Funktion beim Aufruf
von plot3d
von Kugelkoordinaten in kartesische Koordinaten umgerechnet
werden.
Nächste: Grafikoptionen, Vorige: Grafikformate, Nach oben: Grafische Darstellung [Inhalt][Index]