MATHEMATICA 教程

纯函数

Function[x,body]纯函数中的 x 可用任何变量代替
Function[{x1,x2,...},body]多变量的纯函数
body&自变量为 等的纯函数.

纯函数.

使用 NestMap 等函数运算时,总需要有一个确定函数名的函数去作用. 纯函数可直接作用于变量,不需要函数名.

定义函数 .
In[1]:=
Click for copyable input
Map 中使用刚定义的函数名 .
In[2]:=
Click for copyable input
Out[2]=
用纯函数得到相同的结果.
In[3]:=
Click for copyable input
Out[3]=

Mathematica 中的纯函数有多种形式. 最理想的情况是定义一个目标函数,它作用于一个变量时给出函数值. 因此,如 计算纯函数 funa 的值.

求平方的纯函数.
In[4]:=
Click for copyable input
Out[4]=
计算 平方的值.
In[5]:=
Click for copyable input
Out[5]=

可以用纯函数名调用纯函数.

Map 中使用纯函数.
In[6]:=
Click for copyable input
Out[6]=
在嵌套 Nest 中用纯函数.
In[7]:=
Click for copyable input
Out[7]=
定义一个纯函数,并求出作用于 的值.
In[8]:=
Click for copyable input
Out[8]=

当需要重复使用一个函数时,可以先用 定义函数,然后再使用名字 f 调用它. 而当仅使用函数一次时,用纯函数就比较方便.

熟悉形式逻辑和LISP编程语言的人会体会到 Mathematica 中的纯函数与 表达式或无名函数相似,纯函数也类似于数学中的运算符.

#纯函数中的第一个变量
#n纯函数中的第 n 个变量
##纯函数中的所有变量列
##n纯函数中从 n 个变量开始的变量列

纯函数的简单形式.

正如如果你不想再次提到该函数的话,函数名是无关的,因此同样地,一个纯函数中的变量名也是无关的. Mathematica 允许用户不使用纯函数变量的显式名字,另一方面,我们可以通过给出"位置数字" #n 来指明变量. 在一个 Mathematica 纯函数中,#n 表示所提供的第 n 个变量. 表示第一个变量.

是求变量平方的纯函数的简化形式.
In[9]:=
Click for copyable input
Out[9]=
不另外定义函数选择出每个列表中的前2个元素.
In[10]:=
Click for copyable input
Out[10]=
利用纯函数的简化形式简化前面 "函数的重复调用" 函数的定义.
In[11]:=
Click for copyable input

当使用纯函数的简化形式时,千万不要忘记 & 号,否则 Mathematica 就无法理解和执行这一输入.

在纯函数中使用 & 符号时,要注意 & 的优先级很低,必要时要用括号,如 "运算符的输入形式" 中讨论的. 这意味着,你可以不用括号输入形如 的表达式. 另一方面,如果你愿意对纯函数设置选项话,必须使用括号. 例如, .

Mathematica 中,纯函数可以选择任何数目的变量. 表示给定的任何变量,##n 表示从第 n  项开始的所有变量.

代表所有变量.
In[12]:=
Click for copyable input
Out[12]=
表示除第一项以外的所有变量.
In[13]:=
Click for copyable input
Out[13]=
New to Mathematica? Find your learning path »
Have a question? Ask support »