2012-05-21 3 views
13

Zum Beispiel, wenn ich definieren, die folgende FunktionWarum verwendet Mathematica beim Definieren von Parametern einen Unterstrich?

exprod[n_] := Expand[Product[x + i, {i, 1, n}]] 

Warum ist der Unterstrich nach der Variablen n, notwendig in der Funktionsdefinition? Woher kommt dieser Stil oder ist er nur für die Mathematica Programmiersprache spezifisch?

+0

gibt denke ich diese Community Wiki werden würde? Ich bin mir nicht ganz sicher. – ripit

+0

Es gibt jetzt eine [StackExchange-Site nur für Mathematica] (http://mathematica.stackexchange.com/). Bitte überlegen Sie, zukünftige Fragen dort zu stellen. – Verbeia

Antwort

16

Der Unterstrich kommt vom Mustervergleich.

Das x_ stimmt mit allem überein, und alles ist im Körper der Funktion an den Namen x gebunden.

l[x_ * y_] := l[x] + l[y]; 

dann in l [2 * z] zunächst der Ausdruck 2 * z gegen die Muster abgestimmt x_ * Y_. Dann ist x an 2 gebunden und y ist an z gebunden. Dann wird der Ausdruck l [x] + l [y] ausgewertet und das Ergebnis wird l [2] + l [z].

Jetzt sagen wir wollen den Wert von l auf e zu 1 definieren. Schreiben wir l [e]: = 1 oder l [e_]: = 1?

Man sagt, daß l (buchstäblich) der Variablen e 1. Der andere sagt sein muss, dass ich etwas 1.

http://reference.wolfram.com/mathematica/tutorial/Introduction-Patterns.html

+2

Vielen Dank. Das war eine interessante Lektüre und GENAU was ich suchte. – ripit

Verwandte Themen