定义函数
"自定义函数" 节中讨论了在 Mathematica 中函数的定义. 在典型情况下,可以用
定义一个函数
. (事实上,在 "自定义函数" 节中用
而不是
来定义. 在 "立即定义和延时定义" 节中将解释何时使用
和
).
定义
表明当 Mathematica 遇到与模式
匹配的表达式时,它将用
来代替该表达式. 由于模式
与所有形如 f[anything] 的表达式匹配,这一定义可用于具有任何变量的函数
.
函数定义如
可以与 "定义带标号的对象" 节讨论的有标号变量
进行比较. 定义
表明当特定 的表达式
出现时用
代替. 但这定义对
等表达式不起作用,因为这时
有另外的标号.
为了定义一个函数,必须给可以是任何值的变量 x 的表达式 f[x] 指定对应值,这可以通过定义模式
来实现,其中模式对象
代表任何表达式.
定义
或
可以看作对阵列
的元素赋值. 定义一个函数
可以看作对一个具有任意标号的阵列的一系列元素赋值. 事实上,可以把函数看作具有任意变动标号的元素的阵列.
从数学的观点看,
是一个映射. 当定义
和
等时,就是给出其定义域中离散点的象,而
是给出
在一连续流点集上的像.
| In[1]:= |
| Out[1]= |
| In[2]:= |
| Out[2]= |
| In[3]:= |
| Out[3]= |
| In[4]:= |
| Out[4]= |
| In[5]:= |
Mathematica 允许我们对任何表达式或模式定义变换规则,可以将
或
等这些具体表达式的定义与像
等的定义相结合.
许多数学函数可以通过将特定和一般定义相结合的方式给出. 例如,阶乘函数,在 Mathematica 中已经给出了这一函数n!,但可以用 Mathematica 的定义自行建立这个函数.
阶乘函数的数学定义几乎可以直接在 Mathematica 中使用,其形式为
. 此定义表明对 n 等于
的情况,
等于
;对其余 n,f[n] 等于
.
| In[6]:= |
| Out[6]= |
| In[7]:= |
| In[8]:= |
| Out[8]= |
| In[9]:= |
| Out[9]= |
