Nächste: Funktionen und Variablen für die Auswertung, Vorige: Auswertung, Nach oben: Auswertung [Inhalt][Index]
In Einführung in die Kommandozeile sind die vier Phasen der Eingabe, Auswertung, Vereinfachung und Ausgabe erläutert, die jede Eingabe des Nutzers bis zur Ausgabe auf der Konsole durchläuft.
Jede Eingabe eines Ausdrucks expr wird von Maxima ausgewertet. Symbole, die keinen Wert haben, und Zahlen werden zu sich selbst ausgewertet. Symbole, die einen Wert haben, werden durch ihren Wert ersetzt.
Beispiele:
Im ersten Beispiel werden Symbole und Zahlen zu sich selbst ausgewertet. Im
zweiten Beispiel erhält die Variable a
den Wert 2
. In den
folgenden Ausdrücken wird die Variable a
ausgewertet und durch ihren
Wert ersetzt.
(%i1) [a, b, 2, 1/2, 1.0]; 1 (%o1) [a, b, 2, -, 1.0] 2 (%i2) a:2$ (%i3) [a, sin(a), a^2]; (%o3) [2, sin(2), 4]
Maxima unterscheidet Funktionen in einer Verbform von Funktionen in einer
Substantivform. Funktionen in einer Verbform werden ausgewertet, indem die
Funktion auf die ausgewerteten Argumente angewendet wird. Im Gegensatz dazu
werden Funktionen in einer Substantivform nicht auf die Argumente angewendet,
jedoch werden die Argumente weiterhin ausgewertet. Funktionen können in
beiden Formen auftreten. Typische Beispiele sind die Differentiation mit der
Funktion diff
oder die Integration mit der Funktion integrate
.
Siehe zum diesem Thema auch Substantive und Verben.
Beispiele:
Die Variable a
erhält einen Wert. Im ersten Fall liegt die Funktion
diff
in ihrer Verbform vor. Die Auswertung bewirkt, dass die Funktion
auf die Argumente a*x^2
und x angewendet wird. Im zweiten Fall
liegt die Funktion diff
in ihrer Substantivform vor. Dies wird hier
durch den Quote-Operator
'
bewirkt. Jetzt wird die Funktion
nicht angewendet. Das Ergebnis ist ein symbolischer Ausdruck für die
Ableitung. Da auch in diesem Fall die Argumente ausgewertet werden, wird auch
hier der Wert 1/2
für die Variable a
eingesetzt.
(%i1) a:1/2; 1 (%o1) - 2 (%i2) diff(a*x^2, x); (%o2) x (%i3) 'diff(a*x^2, x);
2 d x (%o3) -- (--) dx 2
Nicht alle Maxima-Funktionen werten die Argumente aus. Die Dokumentation der Funktionen gibt häufig einen Hinweis darauf, ob die Argumente ausgewertet werden oder nicht.
Beispiel:
Die Funktion properties
wertet das Argument nicht aus. Dies ist für
den Nutzer praktisch, da ansonsten die Auswertung einer Variablen a
, die
einen Wert hat, explizit mit dem Quote-Operator '
unterdrückt werden
müsste, um die Eigenschaften des Symbols 'a
anzuzeigen. Im ersten Fall
ist das Ergebnis eine leere Liste. Das Symbol a
hat keine Eigenschaften.
Im zweiten Fall erhält die Variable a
einen Wert. Die Funktion
properties
wertet ihr Argument nicht aus und a
wird nicht durch
den Wert 2
ersetzt. Die Funktion properties
zeigt weiterhin die
Eigenschaften des Symbols 'a
an.
(%i1) properties(a); (%o1) [] (%i2) a:2$ (%i3) properties(a); (%o3) [value]
Die Auswertung von Symbolen, Funktionen und Ausdrücken kann mit dem
Quote-Operator '
und dem Quote-Quote-Operator
''
kontrolliert werden. Der Quote-Operator unterdrückt die Auswertung.
Dagegen erzwingt der Quote-Quote-Operator die Auswertung.
Mit der Funktion ev
wird ein Ausdruck in einer definierten Umgebung
ausgewertet, in der Optionsvariablen für die Auswertung einen bestimmten Wert
erhalten oder Auswertungsschalter evflag
und Auswertungsfunktionen
evfun
angewendet werden.
Nächste: Funktionen und Variablen für die Auswertung, Vorige: Auswertung, Nach oben: Auswertung [Inhalt][Index]