函数
| 微积分学 | ||||||||||||
|
||||||||||||
函数 · 导数 · 微分 · 积分
|
||||||||||||
在数学中,一个函数表示每个输入值对应唯一输出值。函数
中对应输入值
的输出值的标准符号为
。包含某个函数所有的输入值的集合被称作这个函数的定义域,包含所有的输出值的集合被称作值域。
例如,表达式
表示了一个函数
,其中每个输入值
都与唯一输出值
2相联系。因此,如果一个输入值为3,那么它所对应的输出值为9。一旦一个函数
被定义,例如,就可以被写为
。
在数学中,用像
这样临时的名字来表述函数是一个不常见的操作;在下一段中我们也许会定义
,那么
。当不需要函数名称的时候,我们经常使用
这样的格式。
经常使用的函数可能会具有专有名称,例如
表示
的平方为
.
一个函数的基本特质是,对于每一个输入值都有唯一输出值与其对应。因此,例如,
表示
的平方根为 
它并不被定义为一个函数,因为它可能含有两个输出值。例如,9的平方根是3和-3。要将一个平方根定义为一个函数,必须明确地选择一个平方根。定义
表示
的正平方根为 
亦即对于任何非负输入值,选择其非负平方根作为函数值。
函数并不一定与数字有关。例如,指定每个国家当前的首都,那么,在这个函数裡,
。
一个更精确,但是仍然非正式的定义如下。令A和B为两个集合。在一个从A到B的函数中,对于A每个元素x,B中都有一个被限定的唯一元素y与其对应。集合A被称为函数的定义域,而集合B被称为函数的陪域。
在一些文章——比如lambda演算——的观念中,函数可能被认为是原始的、结构不全面、不完整的,而不是被完善的理论所定义的。
在更广的数学领域内,术语对应、映射、变换通常是函数的同义词或近义词。无论如何在一些文章中它们也许会被定义为更多的专业含义。例如,在拓扑里一个对应关系有时被定义成一个连续函数。
目录 |
[编辑] 概述
簡而言之,函數是將唯一的輸出值賦予每一輸入的「法則」。這一「法則」可以用函數表達式、數學關係,或者一個將輸入值與輸出值對應列出的簡單表格來表示。函數最重要的性質是其決定性,即同一輸入總是對應同一輸出(注意,反之未必成立)。從這種視角,可以將函數看作「機器」或者「黑盒」,它將有效的輸入值變換為唯一的輸出值。通常將輸入值稱作函數的參數,將輸出值稱作函數的值。
- 最常見的函數的參數和函數值都是數,其對應關係用函數式表示,函數值可以通過直接將參數值代入函數式得到。如下例,
,
的平方,即是函數值。
- 也可以將函數很簡單的推廣到與多個參量相關的情況。例如:
有兩個參量
和
,以乘積
為值。與前面不同,這一「法則」與兩個輸入相關。其實,可以將這兩個輸入看作一個有序對
,記g 為以這個有序對
作參數的函數,這個函數的值是
。
- 科學研究中經常出現未知或不能給出表達式的函數。例如地球上不同時刻溫度的分佈,這一函數以地點和時間為參量,以某一地點、某一時刻的溫度作為輸出。
- 函數的概念並不局限於數的計算,甚至也不局限於計算。函數的數學概念更為寬泛,而且不僅僅包括數之間的映射關係。函數將「定義域」(輸入集)與「對映域」(可能輸出集)聯繫起來,使得定義域的每一個元素都唯一對應對映域中的一個元素。函數,如下文所述,被抽像定義為確定的數學關係。由於函數定義的一般性,函數概念對於幾乎所有的數學分支都是很基本的。
[编辑] 历史
函数这个数学名词是莱布尼兹在1694年开始使用的,以描述曲线的一个相关量,如曲线的斜率或者曲线上的某一点。莱布尼兹所指的函数现在被称作可导函数,数学家之外的普通人一般接触到的函数即属此类。对于可导函数可以讨论它的极限和导数。此两者描述了函数输出值的变化同输入值变化的关系,是微积分学的基础。中文的“函数”一词由清朝数学家李善兰译出。
- 1718年,約翰·白努利(en:Johann Bernoulli)把函数定义为“一个变量的函数是指由这个变量和常量以任何一种方式组成的一种量。”
- 1748年,白努利的学生欧拉(Leonhard Euler)在《无穷分析引论》一书中说:“一个变量的函数是由该变量和一些数或常量以任何一种方式构成的解析表达式”。例如
- 1775年,欧拉在《微分学原理》一书中又提出了函数的一个定义:“如果某些量以如下方式依赖于另一些量,即当后者变化时,前者本身也发生变化,则称前一些量是后一些量的函数。”
- 通过扩展函数的定义,数学家能够对一些“奇怪”的数学对象进行研究,例如不可导的连续函数。这些函数曾经被认为只具有理论价值,迟至20世纪初时它们仍被视作“怪物”。稍后,人们发现这些函数在对如布朗运动之类的物理现象进行建模时有重要的作用。
- 到19世纪末,数学家开始尝试利用集合论来规范数学。他们试图将每一类数学对象定义为一个集合。狄利克雷(Johann Peter Gustav Lejeune Dirichlet)给出了现代正式的函数定义(参见下文#正式定义)。狄利克雷的定义将函数视作数学关系的特例。然而对于实际应用的情况,现代定义和欧拉定义的区别可以忽略不计。
[编辑] 正式定义 (可能并不严谨)
从输入值集合
到可能的输出值集合
的函数
(记作
)是
与
的关系,满足如下条件:
是完全的:对集合
中任一元素
都有集合
中的元素
满足
(
与
是
相关的)。即,对每一个输入值,
中都有与之对应的输出值。
是多对一的:若
且
,则
。即,多个输入可以映射到一个输出,但一个输入不能映射到多个输出。
定义域中任一
在对映域中唯一对应的
记为
。
比上面定义更简明的表述如下:从
映射到
的函数
是
与
的直积
的子集。
中任一
都与
中的
唯一对应,且有序对
属于
。
与
的关系若满足条件(1),则为多值函数。函数都是多值函数,但多值函数不都是函数。
与
的关系若满足条件(2),则为偏函数。函数都是偏函数,但偏函数不都是函数。除非特别指明,本百科全书中的“函数”总是指同时满足以上两个条件的关系。 考虑如下例子:
| 完全,但非多对一。X中的元素3与Y中的两个元素b 和c 相关。因此这是多值函数,而不是函数。 | ||
| 多对一,但非完全。X 的元素1未与Y 的任一元素相关。因此这是偏函数,而不是函数。 | ||
| 完全且多对一。因此这是从X到Y的函数。此函数可以表示为f ={(1, d), (2, d), (3, c)},或
|
[编辑] 定义域、对映域和值域
输入值的集合X被称为f 的定义域;可能的输出值的集合Y被称为f 的对应域。函数的值域是指定义域中全部元素通过映射f 得到的实际输出值的集合。注意,把对映域称作值域是不正确的,函数的值域是函数的对映域的子集。
计算机科学中,参数和返回值的数据类型分别确定了子程序的定义域和对映域。因此定义域和对映域是函数一开始就确定的强制约束。另一方面,值域和实际的实现有关。
[编辑] 单射、满射与双射函数
- 单射函数,将不同的变量映射到不同的值。即:若x和y属于定义域,则仅当x = y时有f(x)= f(y)。
- 满射函数,其值域即为其对映域。即:对映射f的对映域中之任意y,都存在至少一个x满足f(x)= y。
- 双射函数,既是单射的又是满射的。也叫一一对应。双射函数经常被用于表明集合X和Y是等势的,即有一样的基数。如果在两个集合之间可以建立一个一一对应,则说这两个集合等势。
[编辑] 像和原像
元素x∈X在f 的像 就是f(x)。
子集A⊂X 在f 的像是以其元素的像組成Y的子集,即
- f(A) := {f(x) : x ∈ A}。
注意f 的值域就是定義域X 的像f(X)。在我們的例子裡,{2,3}在f 的像是f({2, 3}) = {c, d}而f 的值域是{c, d}。
根據此定義,f 可引申成為由X 的幂集(由X 的子集組成的集)到Y 的幂集之函數,亦記作f。
子集B ⊂ Y在f 的原像(或逆像)是如下定義X的子集:
- f −1(B) := {x ∈ X : f(x)∈B}。
在我們的例子裡,{a, b}的原像是f −1({a, b}) = {1}。
根據此定義,f −1是由Y 的幂集到X 的幂集之函數。
以下是f 及f −1的一些特性:
- f(A1 ∪ A2) = f(A1) ∪ f(A2).
- f(A1 ∩ A2) ⊆ f(A1) ∩ f(A2).
- f −1(B1 ∪ B2) = f −1(B1) ∪ f −1(B2).
- f −1(B1 ∩ B2) = f −1(B1) ∩ f −1(B2).
- f(f −1(B)) ⊆ B.
- f −1(f(A)) ⊇ A.
這些特性適合定義域的任意子集A, A1及A2和輸出值域的任意子集B, B1及B2,甚至可推廣到任意子集群的交集和并集。
[编辑] 函数图像
函数f 的图像是平面上点对(x,f(x))的集合,其中x取定义域上所有成员的。函数图像可以帮助理解证明一些定理。
如果X 和Y 都是连续的线,则函数的图像有很直观表示,如右图是立方函数的图像:
注意两个集合X 和Y 的二元关系有兩個定義:一是三元組(X,Y,G),其中G 是關係的圖;二是索性以關係的圖定義。用第二個定義則函数f 等於其图象。
[编辑] 函数範例
- 首都之於国家(若不把多首都国[1] 计算在内)。
- 每个自然数n的平方n²是n的函數。
- 對數函數。ln x是正实数x的函數。注意,在x為負实数時没有定義 ln x。
- 對每个在
平面上的点,其和原点(0, 0)的距离是確定的。
常用的数学函数包括多项式函數、根式函數、冪函數、对数函數、有理函数、三角函数、反三角函數等。它们都是初等函数。非初等函数(或特殊函数)包括伽傌函數和Bessel函数等。
[编辑] 函數的特性
函數可分為
[编辑] 歧義函數
歧義函數,也称多值函数,指可於一條數學等式中找到不少於一個正確答案。例如,4的平方根可以是2或者-2而兩者的平方皆是4。
嚴格來說,歧義函數不完全算是函數,因為數學函數的定義對於一個輸入值只能有唯一一個輸出值。實際上,這樣的「函數」通常被稱為關係式。
[编辑] 多元函数
多元函数(n-元函數)是指輸入值為n-元組的函數。或者說,若一函數的輸入值域為n 個集合的積集的子集,這函數就是n-元函數。例如,距離函數dist((x,y))是一個二元函數,輸入值是由兩個點組成的序對。另外,多複變函數(即輸入值為複數的多元組)是一個重要的數學課題。
在抽象代數中, 運算元其實都是函數,如乘法"*"是個二元函數:我們寫x*y 其實是*(x,y)的中綴表達法。
函數式程序设计是一個以函數概念為中心的重要理論範例,其中的运算对象为多元函数,基本语法基于λ演算,而函数的复合(见下)则采用代换来完成。特别地,通过一种称为Currying的变换,可将多元函数变换为一元函数。
[编辑] 复合函数
函數f: X → Y及g: Y → Z的複合函數是
- g o f: X → Z :(g o f)(x) = g(f(x))。
舉例,飛機在t时刻的高度是h(t),而高度x处的氧气浓度是c(x),則在t时刻飛機周围的氧氣濃度是 (c o h)(t)。
若 Y⊂X 則 f可自我複合;此時複合函數可記作f 2(不要與三角學的符號混淆)。函數的幂的定義是對自然數n有
- f n+1= f n o f= f of n。
[编辑] 反函数
对一个函数f:X→Y ,若值域Y 中任何一个元素y 的原象是唯一的,那么这个函数就被称为是双射的。对任意的y∈Y 到它的原象f−1(y)的映射,我们称之为f 的反函数,记为f−1。
举一个反函数的例子,比如f(x)= x2,它的反函数是f(x)−1 = √x 。同样,2x 的反函数是x/2。反函数是一个函数,它能够“抵消”它的原函数。参见逆映射。
[编辑] 函數的限制及擴張
給出
的子集
以及函數
,
則
稱為
在
的限制。
反之,若給出函數
則一個定義在
的函數
適合
,就是
的擴張。
[编辑] 点态运算
設函數f: X → R 及g: X → R 有X為共同的輸入值域及環R 為共同輸出值域。我們可以定義“函數和”f + g: X → R 及“函數積”f × g: X → R 如下:
- (f + g)(x) := f(x) + g(x);
- (f × g)(x) := f(x) × g(x);
对于所有X中的x。
這樣子我們得出一個函數組成的環。這是一個抽象性擴張的例子,由此我們由較簡單的結構得出更複雜的。
若然以抽象代數A代替R,得出的由X到A的函數集會類似地擁有和A相同的代數結構。
[编辑] 可计算和不可计算函数
所有从整数到整数的可计算函数的个数是可数的,这是因为所有可能的算法个数是可数的。从整数 到整数的函数个数要更多些-和实数个数一样多,也就是说是等势的。这说明有些从整数到整数的函数是不可计算的。关于不可计算函数,请参看停机问题和莱斯定理。
[编辑] 范畴学中的函数
函數定義為定义域X與上域Y的關係。而在范畴学中,函数的槪念被擴張成態射的槪念。 一個范畴包括一組物件與一組態射,每一個態射是個有序三元组(X, Y, f),其中f是从定义域X到上域Y的一個關係,而定义域与上域是范畴內的物件。基于这种解释,可以把函数看作集合范畴裡面的態射。
[编辑] 参见
- Visual Calculus by Lawrence S. Husch, 田納西大學(2001年)
[编辑] 外部连接
- NIST數學函數
- mysuc.com,经典函数示例
- Wolfram函数网站, 汇集了各数学函数的公式和图像
- xFunctions一个多功能的Java小程序,可以显示函数的图像,既可以在线使用,也可以下载运行。
表示
.
表示 
表示 
,
有兩個參量
為值。與前面不同,這一「法則」與兩個輸入相關。其實,可以將這兩個輸入看作一個有序對
(
且
,则
。即,多个输入可以映射到一个输出,但一个输入不能映射到多个输出。
平面上的点,其和
,

