2012-05-21 15 views
13

Por ejemplo si yo estaba definiendo la siguiente función¿Por qué Mathematica usa un guión bajo al definir parámetros?

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

Entonces ¿por qué el guión después de la variable n, necesaria en la definición de la función? ¿De dónde viene este estilo o es específico solo para el lenguaje de programación de Mathematica?

+0

supongo que esto sería wiki de la comunidad? No estoy del todo seguro. – ripit

+0

Ahora hay un [sitio de StackExchange solo para Mathematica] (http://mathematica.stackexchange.com/). Por favor, considere hacer preguntas futuras allí. – Verbeia

Respuesta

16

El guión bajo proviene de la coincidencia de patrones.

La x_ coincide con cualquier cosa y todo está vinculado al nombre x en el cuerpo de la función.

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

Luego, en l [2 * z] primero la expresión 2 * z se compara con el patrón x_ * y_. Entonces x está ligado a 2 e y está ligado a z. Luego se evalúa la expresión l [x] + l [y], y el resultado es l [2] + l [z].

Ahora digamos que queremos definir el valor de l on e para ser 1. ¿Escribimos l [e]: = 1 o l [e_]: = 1?

Se dice que l a (literalmente) la variable de correo debe ser 1. El otro dice que l a algo da 1.

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

+2

Muchas gracias. Esa fue una lectura interesante y EXACTAMENTE lo que estaba buscando. – ripit

Cuestiones relacionadas