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 /  Ausdrücke /

Ausdrücke als BäumeInhalt

2.1.7 Stufen in Ausdrücken

Die Part-Funktion erlaubt Ihnen, auf bestimmte Teile von Mathematica-Ausdrücken zuzugreifen. Aber besonders dann, wenn Ihre Ausdrücke eine ziemlich gleichartige Struktur haben, ist es oft vorteilhaft, wenn man sich gleichzeitig auf eine Gesamtheit von Teilen beziehen kann.

Mit Stufen (Levels) lassen sich allgemein Gesamtheiten von Teilen in Mathematica-Ausdrücken spezifizieren. Bei vielen Mathematica-Funktionen können Sie die Stufen in einem Ausdruck, auf die sie wirken sollen, angeben.

Hier wird ein einfacher Ausdruck in Baumform dargestellt.

In[1]:= (t = {x, {x, y}, y}) // TreeForm

Out[1]//TreeForm=

Dies sucht nach x im Ausdruck t hinab bis zur Stufe 1. Es findet nur ein Vorkommen.

In[2]:= Position[t, x, 1]

Out[2]=

Dies sucht hinab bis zur Stufe 2. Jetzt findet es beide Vorkommen von x.

In[3]:= Position[t, x, 2]

Out[3]=

Dies sucht nur auf Stufe 2. Es findet nur ein Vorkommen von x.

In[4]:= Position[t, x, {2}]

Out[4]=

Kontrolle von Position mit Hilfe von Stufen

Sie können sich die Stufen in Ausdrücken mit Hilfe von Bäumen vorstellen. Die Stufe eines bestimmten Teils eines Ausdrucks ist einfach der Abstand baumabwärts zwischen dem Ort des Auftretens des Teils und der Spitze des Baumes, die als Stufe 0 betrachtet wird.

Die Teile, die auf der Stufe n auftreten, sind genau die, die durch eine Folge von genau n Indizes spezifiziert werden können.

Stufenspezifikationen

Hiermit wird ein Ausdruck in Baumform dargestellt.

In[5]:= (u = f[f[g[a], a], a, h[a], f]) // TreeForm

Out[5]//TreeForm=

Dies sucht nach a von Stufe 2 an abwärts.

In[6]:= Position[u, a, {2, Infinity}]

Out[6]=

Dies zeigt, wo f außerhalb des Kopfes eines Ausdrucks noch auftritt.

In[7]:= Position[u, f, Heads->False]

Out[7]=

Dies erfaßt auch das Auftreten von f in Köpfen von Ausdrücken.

In[8]:= Position[u, f, Heads->True]

Out[8]=

Testen und Herausziehen von Stufen

Dies liefert eine Liste aller Teile von u, die abwärts bis zur Stufe 2 auftreten.

In[9]:= Level[u, 2]

Out[9]=

Hier sind alle Teile auf Stufe 2.

In[10]:= Level[u, {2}]

Out[10]=

Wenn Sie den gewöhnlichen Stufenbegriff verstanden haben, können Sie versuchen, über negative Stufen nachzudenken. Negative Stufen bezeichnen Teile von Ausdrücken, beginnend an der Unterseite des Baumes. Stufe -1 enthält alle Blätter des Baumes: Objekte wie Symbole und Zahlen.

Dies zeigt die Teile von u auf Stufe .

In[11]:= Level[u, {-1}]

Out[11]=

Die „Tiefe" eines Ausdrucks kann man sich als die maximale Anzahl der Stufen vorstellen, die durch TreeForm gezeigt werden. Die Stufe -n eines Ausdrucks wird allgemein so definiert, daß sie aus allen Unterausdrücken besteht, deren Tiefe n ist.

Die Tiefe von g[a] ist 2.

In[12]:= Depth[ g[a] ]

Out[12]=

Die Teile von u auf Stufe sind die, deren Tiefe genau 2 ist.

In[13]:= Level[u, {-2}]

Out[13]=

Ausdrücke als BäumeInhalt