This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

 Documentation /  Mathematica /  Das Mathematica Buch /  Die Prinzipien von Mathematica /  Evaluierung von Ausdrücken /

InhaltReduzierung von Ausdrücken in ihre Standard-Form

2.5.1 Prinzipien der Evaluierung

Die Grundoperation von Mathematica ist die Evaluierung. Immer wenn Sie einen Ausdruck eingeben, evaluiert Mathematica den Ausdruck und gibt dann das Ergebnis zurück.

Evaluierung in Mathematica besteht in der Anwendung einer Folge von Definitionen. Diese Definitionen können sowohl direkt von Ihnen eingegebene, als auch in Mathematica eingebaute sein.

Mathematica evaluiert zum Beispiel den Ausdruck 6 + 7 mit einer eingebauten Prozedur zur Addition ganzer Zahlen. Ganz ähnlich evaluiert Mathematica den algebraischen Ausdruck x - 3x + 1 mit einer eingebauten Vereinfachungsprozedur. Haben Sie x = 5 definiert, dann würde Mathematica mit dieser Definition x - 3x + 1 zu -9 reduzieren.

Die zwei zentralen Konzepte in Mathematica sind wahrscheinlich Ausdrücke und Evaluierung. Abschnitt 2.1 beschrieb, wie alle verschiedenen Objekte, die von Mathematica verarbeitet werden, in einer einheitlichen Weise durch Ausdrücke dargestellt werden. Dieser Abschnitt zeigt, wie alle Operationen, die Mathematica durchführen kann, auf einheitliche Weise als Beispiele der Evaluierung angesehen werden können.

Einige Interpretationen der Evaluierung

Mathematica ist ein unendliches Evaluierungs-System. Wenn Sie einen Ausdruck eingeben, dann wird Mathematica so lange Definitionen, die es kennt, anwenden, bis es ein Ergebnis erhält, auf das keine Definition mehr anwendbar ist.

Dies definiert x1, ausgedrückt durch x2, und definiert dann x2.

In[1]:= x1 = x2 + 2 ; x2 = 7

Out[1]=

Wenn Sie nach x1 fragen, verwendet Mathematica alle Definitionen, die es kennt, um Ihnen ein Ergebnis zu liefern.

In[2]:= x1

Out[2]=

Hier ist eine rekursive Definition, in der die Fakultätsfunktion durch sich selbst definiert wird.

In[3]:= fac[1] = 1 ; fac[n_] := n fac[n-1]

Wenn Sie nach fac[10] fragen, wird Mathematica die von Ihnen angegebenen Definitionen so lange anwenden, bis sich das jeweils gewonnene Ergebnis nicht mehr ändert.

In[4]:= fac[10]

Out[4]=

Sobald Mathematica alle bekannten Definitionen benutzt hat, gibt es den erhaltenen Ausdruck als Ergebnis aus. Mitunter mag das Ergebnis ein Objekt, zum Beispiel eine Zahl, sein. Gewöhnlich ist es aber ein Ausdruck, in dem einige Objekte in symbolischer Form präsentiert werden.

Mathematica setzt seine eingebauten Definitionen zur Vereinfachung von Summen ein, es kennt jedoch keine Definitionen für f[3] und beläßt es daher in symbolischer Form.

In[5]:= f[3] + 4f[3] + 1

Out[5]=

Mathematica folgt dem Prinzip, Definitionen so lange anzuwenden, bis sich das Ergebnis nicht mehr ändert. Deshalb werden Sie, wenn Sie das letzte von Mathematica gelieferte Ergebnis nehmen und es als Mathematica-Input eingeben, das gleiche Ergebnis zurück erhalten. (In Abschnitt 2.5.12 werden einige subtile Fälle behandelt, in denen dies nicht geschieht.)

Wenn Sie ein Ergebnis von Mathematica erneut eingeben, erhalten Sie denselben Ausdruck wieder zurück.

In[6]:= 1 + 5 f[3]

Out[6]=

Zu jedem beliebigen Zeitpunkt kann Mathematica nur jene Definitionen anwenden, die es gerade kennt. Fügen Sie später weitere Definitionen hinzu, so wird Mathematica diese dann verwenden können. Die Ergebnisse, die Sie von Mathematica erhalten, können sich in solchen Fällen ändern.

Hier ist eine neue Definition für die Funktion f.

In[7]:= f[x_] = x^2

Out[7]=

Durch die neue Definition können sich die Ergebnisse, die Sie erhalten, ändern.

In[8]:= 1 + 5 f[3]

Out[8]=

Die einfachsten Beispiele für die Evaluierung enthalten Definitionen wie f[x_] = x^2, die einen Ausdruck in einen anderen transformieren. Evaluierung ist aber auch der Prozeß, der zur Ausführung von Programmen verwendet wird, die in Mathematica geschrieben wurden. Wenn Sie zum Beispiel eine Prozedur haben, die aus einer Folge von Mathematica-Ausdrücken besteht, von denen einige möglicherweise bedingte Anweisungen und Schleifen darstellen, dann entspricht die Ausführung dieser Prozedur der Evaluierung dieser Ausdrücke. Mitunter kann der Evaluierungsprozeß darin bestehen, daß ein bestimmter Ausdruck mehrmals evaluiert wird, so zum Beispiel in einer Schleife.

Der Ausdruck Print[zzzz] wird während der Evaluierung des Do-Ausdrucks dreimal evaluiert.

In[9]:= Do[Print[zzzz], {3}]

InhaltReduzierung von Ausdrücken in ihre Standard-Form