Die Grundlage der meisten Operationen, die Mathematica ausführt, ist der Vergleich von Mustern. Dem Kernel steht eine große Datenbank mit vordefinierten Mustern zur Verfügung, die beispielsweise zur Umformung und Vereinfachung mathematischer Ausdrücke verwendet werden. Neue Muster können dann der Datenbank hinzugefügt werden, um Mathematica neue Fähigkeiten beizubringen und spzielle Probleme zu lösen.
Kontrollstrukturen verschiedener Programmiersprachen
DO 100 i=1, 10
...
100 CONTINUE
for (i=1; i<100; i++){...}
(PLUS A(TIMES 4 B))
parent[x|X]:-
(Regeln)
Die Syntax, der Befehle auf der command line oder in notebooks gehorchen müssen, beruht auf folgenden Konzepten:
f[x_]:=x^2
In[1]:= f[x_]:=x^2
In[4]:= f[a]:=b
Out[4]=
Die Musterdatenbank hat nach obigen Eingaben folgende Einträge für das Symbol f:
f/: f[1] := 0 |
f[a] := b |
f[x_] := x^2 |
g/: ... |
Der Befehl
In[5]:= ?f
Out[5]= Global`f
f[1] := 0
f[a] := b
f[x_] := x^2
zeigt die ,,Muster``, die in der Datenbank gespeichert sind, an.
Läßt man Mathematica den Befehl
In[6]:= f[3]
Out[6]= 9
ausführen, so kann man sich den Vorgang des Mustervergleichs wie folgt vorstellen:
Mathematica beginnt, den eingegebenen Befehl zeichenweise mit den gespeicherten Mustern
zu vergleichen, und erkennt zunächst, daß es sich um ein f
handelt.
Unter jenen Mustern, die damit beginnen sucht es jenes, das von einer
eckigen Klammer [
gefolgt wird.
Nun wird das dritte Zeichen 3
untersucht.
Offensichtlich paßt es weder auf den ersten, noch auf den zweiten Eintrag in
der Datenbank.
Der dritte Eintrag f[x_]:=x^2
enthält ein spezielles Zeichen,
das sogenannte ,,blank`` (,,_
``), das für einen beliebigen Ausdruck
(expression) steht.
Dieses ist jedoch kein Leerzeichen, sondern wird durch einen Unterstrich
dargestellt.
Kapitel 3.2 beschäftigt sich eingehend mit blanks.
Dem blank geht ein x
voran, das lediglich der expression, die dem blank
zugeordnet wurde, einen Namen gibt, um auf diese zugreifen zu können.
Da das blank für eine beliebige expression steht, ist zweifellos auch 3
erlaubt, weshalb das dritte Muster als zutreffend erkannt wird.
Mathematica kann dann mit der Auswertung des Ausdrucks beginnen.
In f[x_]:=x^2
wird 3
an Stelle des beliebigen Ausdrucks
eingesetzt: x^2
wird ersetzt durch 3^2
.
Das Symbol ^
für das Potenzieren wird durch seine
FullForm
ersetzt, Power[3, 2]
, und der Ausdruck
schließlich ausgewertet.