Mathematica 9 is now available

 Documentation /  Mathematica /  Das Mathematica Buch /  Die Prinzipien von Mathematica /  Transformationsregeln und Definitionen /

Definitionen für indizierte Objekte erstellenDie Reihenfolge von Definitionen

2.4.6 Definitionen für Funktionen erstellen

Abschnitt 1.7.1 erörtert, wie Sie Funktionen in Mathematica definieren können. In einem typischen Fall würden Sie f[x_] = x^2 eintippen, um eine Funktion f zu definieren. (Tatsächlich benutzten die Definitionen in Abschnitt 1.7.1 den Operator := statt des Operators =. Abschnitt 2.4.8 wird genau erklären, wann jeweils die Operatoren := und = zu benutzen sind.)

Die Definition f[x_] = x^2 legt fest, daß Mathematica, wann immer es auf einen Ausdruck trifft, der zum Muster f[x_] paßt, diesen durch x^2 ersetzen soll. Da das Muster f[x_] mit allen Ausdrücken der Form f[irgendetwas] übereinstimmt, ist die Definition auf Funktionen f mit einem beliebigen „Argument" anwendbar.

Funktionsdefinitionen wie f[x_] = x^2 können mit Definitionen wie f[a] = b für indizierte Variablen verglichen werden, die im vorangegangenen Unterabschnitt erörtert wurden. Die Definition f[a] = b legt fest, daß, wann immer der bestimmte Ausdruck f[a] auftaucht, er durch b ersetzt werden soll. Aber die Definition sagt nichts aus über Ausdrücke wie f[y], bei denen f mit einem anderen „Index" erscheint.

Um eine „Funktion" zu definieren, müssen Sie Werte für Ausdrücke der Form f[x] spezifizieren, wobei das Argument x beliebig sein kann. Dies läßt sich durch Angabe einer Definition für das Muster f[x_] erreichen, wobei das Muster-Objekt x_ für einen beliebigen Ausdruck stehen kann.

Der Unterschied zwischen der Definition einer indizierten Variablen und einer Funktion

Das Erstellen von Definitionen für f[2] oder f[a] kann man sich als die Angabe von Werten für verschiedene Elemente eines „Arrays" mit Namen f vorstellen. Das Erstellen einer Definition für f[x_] ist wie die Angabe eines Wertes für eine Menge von „Array-Elementen" mit beliebigen „Indizes". In der Tat können Sie sich eine Funktion wirklich wie ein Array mit einem beliebig variablen Index vorstellen.

Mathematisch können Sie sich f als eine Abbildung vorstellen. Wenn Sie Werte für beispielsweise f[1] und f[2] definieren, legen Sie das Bild dieser Abbildung für verschiedene diskrete Punkte in ihrem Definitionsbereich fest. Die Definition eines Wertes für f[x_] legt das Bild von f auf einem Kontinuum von Punkten fest.

Dadurch wird eine Transformationsregel für den speziellen Ausdruck f[x] definiert.

In[1]:= f[x] = u

Out[1]=

Wenn der spezielle Ausdruck f[x] auftaucht, wird er durch u ersetzt. Andere Ausdrücke der Form f[argument] werden jedoch nicht verändert.

In[2]:= f[x] + f[y]

Out[2]=

Dies definiert einen Wert für f mit einem beliebigen Ausdruck als „Argument".

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

Out[3]=

Die alte Definition für den speziellen Ausdruck f[x] wird weiter verwendet, doch die neue allgemeine Definition für f[x_] wird jetzt benutzt, um einen Wert für f[y] zu bestimmen.

In[4]:= f[x] + f[y]

Out[4]=

Dies entfernt alle Definitionen für f.

In[5]:= Clear[f]

Mit Mathematica können Sie Transformationsregeln für jeden Ausdruck oder jedes Muster definieren. Sie können Definitionen für spezielle Ausdrücke wie f[1] oder f[a] mit Definitionen für Muster wie f[x_] mischen.

Viele Arten von mathematischen Funktionen können angelegt werden, indem man spezielle und allgemeine Definitionen in Mathematica mischt. Betrachten Sie zum Beispiel die Fakultäts-Funktion. Diese besondere Funktion ist tatsächlich in Mathematica eingebaut (sie wird als n! geschrieben). Sie können jedoch Mathematica-Definitionen verwenden, um die Funktion selbst aufzustellen.

Die mathematische Standard-Definition für die Fakultäts-Funktion kann beinahe direkt in Mathematica eingegeben werden, und zwar in der Form: f[n_] := n f[n-1]; f[1] = 1. Diese Definition legt fest, daß f[n] für jedes n durch n f[n-1] ersetzt werden sollte. Nur wenn n den Wert 1 hat, sollte f[1] einfach durch 1 ersetzt werden.

Hier ist der Wert für die Fakultäts-Funktion mit Argument 1.

In[6]:= f[1] = 1

Out[6]=

Hier ist die allgemeine rekursive Beziehung für die Fakultäts-Funktion.

In[7]:= f[n_] := n f[n-1]

Nun können Sie mit diesen Definitionen Werte für die Fakultäts-Funktion bestimmen.

In[8]:= f[10]

Out[8]=

Die Ergebnisse sind dieselben, wie Sie sie von der eingebauten Version für die Fakultät erhalten.

In[9]:= 10!

Out[9]=

Definitionen für indizierte Objekte erstellenDie Reihenfolge von Definitionen



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.