Mathematica 9 is now available

2.4.6 定义函数

1.7.1 节中讨论了函数的定义,可以用 f[x_] = x^2 定义一个函数 (事实上在 1.7.1节中用 := 而不是=来定义,在 2.4.8 节中将解释它们的使用情况).
定义 f[x_] = x^2 表明当 Mathematica 遇到与模式 f[x_] 匹配的表达式时,它将用 x^2 来代替该表达式.由于模式 f[x_] 与所有形如 f[anything] 的表达式匹配,这一定义可用于任何变量.
函数定义 f[x_] = x^2 可以与前一节讨论的有标号的变量 f[a] = b 进行 比较. f[a] = b 表明当特定的表达式 f[a] 出现时用 b 代替. 但这定义对 f[y] 等表达式不起作用,因为这时 f 有另外的标号. 为了定义一个函数,必须给可以是 任何值的变量 x 的表达式 f[x] 指定对应值,这可以通过定义模式 f[x_] 来实现.

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

定义 f[2]f[a] 可以看作对阵列 f 的元素赋值,定义一个函数 f[x-] 可以看作对一个具有任意标号的阵列的一系列元素赋值. 事实上,可以把函数看作具有 任意变动标号的元素的阵列. 从数学的观点看,f 是一个映射,当定义 f[1] , f[2] 等时,就是给出其定义域中离散点的象,而 f[x_] 是给出 f 在一连续流点集上的像.

对确定的表达式 f[x] 定义变换规则

当这一确定的表达式 f[x] 出现时用u代替它,其它表达式 f[argument] 则不变

对任意变量定义 f 的值

最初特定形式的 f[x] 的定义仍然有效,一般定义 f[x_] 用来求出 f[y] 的值

清除 f 的所有定义

Mathematica 中可以对任何表达式或模式定义变换规则,可以将 f[1], f[2] 等这些具体表达式的定义与像 f[x_] 等的定义相结合. 许多数学函数可以通过将特定和一般定义相结合的方式给出. 例如阶乘函数,在 Mathematica 中已经给出了这一函数 n!,但可以用 Mathematica 的定义自行建立这个函数.
阶乘函数的数学定义几乎可以直接在 Mathematica 中使用,其形式为 f[n_] := n f[n-1]; f[1] = 1. 此定义表明 f[1]=1,对其余 n, f[n]=nf[n-1].

变量为 1 时阶乘函数的值

阶乘函数一般的递推过程

现在就可以用这个定义去得到阶乘的值乘的值

此结果与内部函数 n! 的值相同



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.