How to| 创建变量和函数的定义

Mathematica 具有一组非常全面的函数记号,例如任意变换规则等. 变量也是按这种方式赋值. 一旦您设定了一个变量的值,该变量将变成这个值的符号.

这是一个简单的变换规则. 它指定:只要看到 ,就用3代替:

In[31]:=
Click for copyable input
Out[31]=

变量 的值为3.

无论您何时计算一个表达式,都用3来代替

In[32]:=
Click for copyable input
Out[32]=

该规则可以通过定义一个新规则去除:

In[33]:=
Click for copyable input
Out[33]=

新规则指定:无论何时看到 ,都将它代之以 . 到此为止由于没有与 相关的规则,因此它的值就是其自身.

赋值:

In[34]:=
Click for copyable input
Out[34]=

现在如果计算 的规则指定用 代替 ,且 的规则指定用4代替 ,因此结果是 即16:

In[35]:=
Click for copyable input
Out[35]=

如果要改变 的值,则 的值也随之改变:

In[36]:=
Click for copyable input
Out[36]=
In[37]:=
Click for copyable input
Out[37]=

现在为 赋上一个值,像这样:

In[38]:=
Click for copyable input
Out[38]=

由于 的值已经被赋为3,您已定义规则"用9代替 ",而不是"用 代替 ". 因此 独立于

In[39]:=
Click for copyable input
Out[39]=
In[40]:=
Click for copyable input
Out[40]=

这种情况的出现是因为当一个规则使用 (Set) 定义时,等号右端在规则定义之前计算.

您也可以使用 (SetDelayed) 定义规则,像这样:

In[41]:=
Click for copyable input

当一个规则用 定义时,等号右端在规则定义之前不被计算. 因此即使 已经有值,这个新规则指定的是:只要看到 ,就将它用 代替. 因此在这里, 取决于

In[42]:=
Click for copyable input
Out[42]=
In[43]:=
Click for copyable input
Out[43]=
In[44]:=
Click for copyable input
Out[44]=

Mathematica 中的函数由行为遵循模式的规则定义. 这是一个简单的模式:

In[45]:=
Click for copyable input

是一个模式, 在其中代表任意表达式(在右端通过名称 表示). 规则指定:对于任何表达式的 ,将其用该表达式的平方代替:

In[46]:=
Click for copyable input
Out[46]=
In[58]:=
Click for copyable input
Out[58]=

这是一个有两个自变量的函数:

In[48]:=
Click for copyable input
In[49]:=
Click for copyable input
Out[49]=

始终使用 定义函数,否则等号右端的变量有可能不代表左端的相关表述,因为它们将在规则定义之前被计算:

In[50]:=
Click for copyable input
Out[50]=

这种情况发生的原因是 为 9, 为 3. 规则指定任何与模式 匹配的都用90来代替:

In[59]:=
Click for copyable input
Out[59]=
New to Mathematica? Find your learning path »
Have a question? Ask support »