2012-05-21 14 views
13

Per esempio se definiva la seguente funzionePerché Mathematica utilizza un trattino basso quando si definiscono i parametri?

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

Allora perché è la sottolineatura dopo la variabile n, necessaria nella definizione della funzione? Da dove viene questo stile o è specifico solo per il linguaggio di programmazione Mathematica?

+0

Credo che questo sarebbe wiki comunità? Non ne sono completamente sicuro – ripit

+0

Esiste ora un [sito StackExchange solo per Mathematica] (http://mathematica.stackexchange.com/). Per favore, considera di fare domande future lì. – Verbeia

risposta

16

Il carattere di sottolineatura deriva dalla corrispondenza del modello.

x_ corrisponde a qualsiasi cosa e questo qualsiasi cosa è associato al nome x nel corpo della funzione.

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

Poi in l [2 * z] prima dell'espressione 2 * z viene confrontato ai modello x_ * y_. Quindi x è associato a 2 e y è associato a z. Quindi viene valutata l'espressione l [x] + l [y] e il risultato diventa l [2] + l [z].

Ora diciamo che vogliamo definire il valore di l su e per essere 1. Scriviamo l [e]: = 1 o l [e_]: = 1?

Si dice che l per (letteralmente) la variabile e deve essere 1. L'altro dice che l per qualcosa dà 1.

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

+2

Grazie mille. Questa è stata una lettura interessante ed ESATTAMENTE quello che stavo cercando. – ripit