MATHEMATICA 教程

定义函数

"自定义函数" 节中讨论了在 Mathematica 中函数的定义. 在典型情况下,可以用 定义一个函数 . (事实上,在 "自定义函数" 节中用 而不是 来定义. 在 "立即定义和延时定义" 节中将解释何时使用 ).

定义 表明当 Mathematica 遇到与模式 匹配的表达式时,它将用 来代替该表达式. 由于模式 与所有形如 f[anything] 的表达式匹配,这一定义可用于具有任何变量的函数 .

函数定义如 可以与 "定义带标号的对象" 节讨论的有标号变量 进行比较. 定义 表明当特定 的表达式 出现时用 代替. 但这定义对 等表达式不起作用,因为这时 有另外的标号.

为了定义一个函数,必须给可以是任何值的变量 x 的表达式 f[x] 指定对应值,这可以通过定义模式 来实现,其中模式对象 代表任何表达式.

f[x]=value对指定表达式 x 的定义
f[x_]=value对任何涉及到 x 的表达式的定义

定有标号的变量和定义函数的区别.

定义 可以看作对阵列 的元素赋值. 定义一个函数 可以看作对一个具有任意标号的阵列的一系列元素赋值. 事实上,可以把函数看作具有任意变动标号的元素的阵列.

从数学的观点看, 是一个映射. 当定义 等时,就是给出其定义域中离散点的象,而 是给出 在一连续流点集上的像.

确定 的表达式 定义变换规则.
In[1]:=
Click for copyable input
Out[1]=
当这一确定的表达式 出现时,用 代替它. 其它表达式 f[argument] 则不变.
In[2]:=
Click for copyable input
Out[2]=
对任意变量定义 的值.
In[3]:=
Click for copyable input
Out[3]=
最初特定形式的 的定义仍然有效,一般定义 用来求出 的值.
In[4]:=
Click for copyable input
Out[4]=
清除 的所有定义.
In[5]:=
Click for copyable input

Mathematica 允许我们对任何表达式或模式定义变换规则,可以将 等这些具体表达式的定义与像 等的定义相结合.

许多数学函数可以通过将特定和一般定义相结合的方式给出. 例如,阶乘函数,在 Mathematica 中已经给出了这一函数n!,但可以用 Mathematica 的定义自行建立这个函数.

阶乘函数的数学定义几乎可以直接在 Mathematica 中使用,其形式为 . 此定义表明对 n 等于 的情况, 等于 ;对其余 nf[n] 等于 .

变量为 1 时阶乘函数的值.
In[6]:=
Click for copyable input
Out[6]=
阶乘函数一般的递推过程.
In[7]:=
Click for copyable input
现在就可以用这个定义区得到阶乘的值乘的值.
In[8]:=
Click for copyable input
Out[8]=
此结果与内部函数 n! 的值相同.
In[9]:=
Click for copyable input
Out[9]=
New to Mathematica? Find your learning path »
Have a question? Ask support »