函数

维基百科,自由的百科全书
跳转至: 导航搜索
Geonext.png

数学中,一个函数是描述每个输入值对应唯一输出值的这种对应关系,符号为 f(x)。在英文中讀作f of x,但在中文中則常讀作f x。其中x為自變量,f(x)為因變量(或稱應變量)。包含某个函数所有的输入值的集合被称作这个函数的定义域,包含所有的输出值的集合被称作值域

函数有多种方法来表示。如解析法(就是用数学表达式表达两个变量之间的对应关系),图像法(就是用图像/坐标系表达两个变量之间的对应关系),列表法(就是用表格表达两个变量之间的对应关系)

例如,表达式 f(x)=x^2 表示了一个函数 f,其中每个输入值 x 都与唯一输出值x2相联系。因此,如果一个输入值为3,那么它所对应的输出值为9。一旦一个函数 f 被定义,例如,就可以被写为f(4)=16

在数学中,用像 f 这样临时的名字来表述函数是一个不常见的操作;在下一段中我们也许会定义f(x)=2x+1,那么f(4)=9。当不需要函数名称的时候,我们经常使用y=x^2这样的格式。

一个函数的基本特质是,对于每一个输入值都有唯一输出值与其对应。因此,例如, f(x)=\pm\sqrt x表示 x 的平方根为 \pm \sqrt x

它并不被定义为一个函数,因为它可能含有两个输出值。例如,9的平方根是3和-3。要将一个平方根定义为一个函数,必须明确地选择一个平方根。定义

\mathrm{Posroot}(x)=\sqrt x表示 x 的正平方根为 \sqrt x

亦即对于任何非负输入值,选择其非负平方根作为函数值。

函数并不一定与数字有关。例如,指定每个国家当前的首都,那么,在这个函数裡,

Madrid={\rm{Capital}}(Spain)\

一个更精确,但是仍然非正式的定义如下。令AB为两个非空集合。在一个从AB的函数中,对于A每个元素xB中都有一个被限定的唯一元素y与其对应。集合A被称为函数的定义域,而集合B被称为函数的陪域

在一些文章——比如lambda演算——的观念中,函数可能被认为是原始的、结构不全面、不完整的,而不是被完善的理论所定义的。

在更广的数学领域内,术语对应映射变换通常是函数的同义词或近义词。无论如何在一些文章中它们也许会被定义为更多的专业含义。例如,在拓扑里一个对应关系有时被定义成一个连续函数

概述[编辑]

簡而言之,函數是將唯一的輸出值賦予每一輸入的「法則」以及该输出值与对应输入值的集合。這一「法則」可以用函數表達式、數學關係,或者一個將輸入值與輸出值對應列出的簡單表格來表示。函數最重要的性質是其決定性,即同一輸入總是對應同一輸出(注意,反之未必成立)。從這種視角,可以將函數看作「機器」或者「黑箱」,它將有效的輸入值變換為唯一的輸出值。通常將輸入值稱作函數的參數,將輸出值稱作函數的

  • 最常見的函數的參數和函數值都是數,其對應關係用函數式表示,函數值可以通過直接將參數值代入函數式得到。如下例,
f(x)=x^{2}, x的平方,即是函數值。
  • 也可以將函數很簡單的推廣到與多個參量相關的情況。例如:
g(x,y) = xy有兩個參量xy,以乘積xy為值。與前面不同,這一「法則」與兩個輸入相關。其實,可以將這兩個輸入看作一個有序對(x,y),記g 為以這個有序對(x,y)作參數的函數,這個函數的值是xy
  • 科學研究中經常出現未知或不能給出表達式的函數。例如地球上不同時刻溫度的分佈,這一函數以地點和時間為參量,以某一地點、某一時刻的溫度作為輸出。
  • 函數的概念並不局限於數的計算,甚至也不局限於計算。函數的數學概念更為寬泛,而且不僅僅包括數之間的映射關係。函數將「定義域」(輸入集)與「對映域」(可能輸出集)聯繫起來,使得定義域的每一個元素都唯一對應對映域中的一個元素。函數,如下文所述,被抽像定義為確定的數學關係。由於函數定義的一般性,函數概念對於幾乎所有的數學分支都是很基本的。

历史[编辑]

函数这个数学名词是莱布尼兹在1694年开始使用的,以描述曲线的一个相关量,如曲线的斜率或者曲线上的某一点。莱布尼兹所指的函数现在被称作可导函数,数学家之外的普通人一般接触到的函数即属此类。对于可导函数可以讨论它的极限导数。此两者描述了函数输出值的变化同输入值变化的关系,是微积分学的基础。中文的“函数”一词由清朝数学家李善兰译出。其《代数学》书中解释:“凡此變數中函(包含)彼變數者,則此為彼之函數”。

  • 1718年,約翰·伯努利en:Johann Bernoulli)把函数定义为“一个变量的函数是指由这个变量和常量以任何一种方式组成的一种量。”
  • 1748年,伯努利的学生欧拉(Leonhard Euler)在《无穷分析引论》一书中说:“一个变量的函数是由该变量和一些数或常量以任何一种方式构成的解析表达式”。例如
f(x)=\sin(x)+x^3
  • 1775年,欧拉在《微分学原理》一书中又提出了函数的一个定义:“如果某些量以如下方式依赖于另一些量,即当后者变化时,前者本身也发生变化,则称前一些量是后一些量的函数。”
  • 19世纪的数学家开始对数学的各个分支作规范整理。维尔斯特拉斯(Karl Weierstrass)提出将微积分学建立在算术,而不是几何的基础上,因而更趋向于欧拉的定义。
  • 通过扩展函数的定义,数学家能够对一些“奇怪”的数学对象进行研究,例如不可导的连续函数。这些函数曾经被认为只具有理论价值,迟至20世纪初时它们仍被视作“怪物”。稍后,人们发现这些函数在对如布朗运动之类的物理现象进行建模时有重要的作用。
  • 到19世纪末,数学家开始尝试利用集合论来规范数学。他们试图将每一类数学对象定义为一个集合狄利克雷(Johann Peter Gustav Lejeune Dirichlet)给出了现代正式的函数定义(参见下文#正式定义)。狄利克雷的定义将函数视作数学关系的特例。然而对于实际应用的情况,现代定义和欧拉定义的区别可以忽略不计。

正式定义[编辑]

一个函数f给出了输入值x与输出值f(x)之间的对应关系.
函数f的部分图像。每个实数的x都与fx) = x3 − 9x相联系。

从输入值集合X到可能的输出值集合Y的函数f(记作f: x \to y)是XY关系,满足如下条件:

  1. f完全的:对集合X中任一元素x都有集合Y中的元素y满足x f yxyf相关的)。即,对每一个输入值,y中都有与之对应的输出值。
  2. f多对一的:若f(x)=yf(x)=z,则y=z。即,多个输入可以映射到一个输出,但一个输入不能映射到多个输出。

定义域中任一x在对映域中唯一对应的y记为f(x)

比上面定义更简明的表述如下:从X映射到Y的函数fXY直积X \times Y子集X中任一x都与Y中的y唯一对应,且有序对(x,y)属于f

XY的关系若满足条件(1),则为多值函数。函数都是多值函数,但多值函数不都是函数。XY的关系若满足条件(2),则为偏函数。函数都是偏函数,但偏函数不都是函数。除非特别指明,本百科全书中的“函数”总是指同时满足以上两个条件的关系。 考虑如下例子:

Multivalued function.svg 完全,但非多对一。X中的元素3与Y中的两个元素bc 相关。因此这是多值函数,而不是函数。
Partial function.svg 多对一,但非完全。X 的元素1未与Y 的任一元素相关。因此这是偏函数,而不是函数。
Total function.svg 完全且多对一。因此这是从XY的函数。此函数可以表示为f ={(1, d), (2, d), (3, c)},或
f(x)=\left\{\begin{matrix} d, & \mbox{if }x=1 \\ d, & \mbox{if }x=2 \\ c, & \mbox{if }x=3. \end{matrix}\right.

单射、满射与双射函数[编辑]

  • 单射函数,将不同的变量映射到不同的值。即:若xy属于定义域,则仅当x = y时有fx)= fy)。
  • 满射函数,其值域即为其对映域。即:对映射f的对映域中之任意y,都存在至少一个x满足fx)= y
  • 双射函数,既是单射的又是满射的。也叫一一对应。双射函数经常被用于表明集合XY是等的,即有一样的基数。如果在两个集合之间可以建立一个一一对应,则说这两个集合等势。

像和原像[编辑]

元素xXf 就是ƒ(x)

子集AXf 的像是以其元素的像組成Y的子集,即

ƒ(A) := {ƒ(x) : xA}

注意f的值域就是定義域X的像ƒ(X)。在我們的例子裡,{2,3}f的像是ƒ({2, 3}) = {c, d}f的值域是{c, d}

根據此定義,f可引申成為由X幂集(由X的子集組成的集)到Y的幂集之函數,亦記作f

子集BYf原像(或逆像)是如下定義X的子集:

ƒ−1(B) := {xX : ƒ(x)∈B}

在我們的例子裡, {a, b} 的原像是ƒ−1({a, b}) = {1}

根據此定義,ƒ−1(x)是由Y的幂集到X的幂集之函數。

以下是ff−1的一些特性:

  • ƒ(A1A2) = ƒ(A1) ∪ ƒ(A2).
  • ƒ(A1A2) ⊆ ƒ(A1) ∩ ƒ(A2).
  • ƒ−1(B1B2) = ƒ−1(B1) ∪ ƒ−1(B2).
  • ƒ−1(B1B2) = ƒ−1(B1) ∩ ƒ−1(B2).
  • ƒ(ƒ−1(B) ⊆ B).
  • ƒ−1(ƒ(A)) ⊇ A.

這些特性適合定義域的任意子集A, A1A2和輸出值域的任意子集B, B1B2,甚至可推廣到任意子集群的交集并集

函数图像[编辑]

立方函数的图像

函数f 的图像是平面上点对(x,fx))的集合,其中x取定义域上所有成员的。函数图像可以帮助理解证明一些定理。

微积分学
\text{e} = \lim_{n\to\infty} \left(1+\frac{1}{n}\right)^n
函数 · 导数 · 微分 · 积分

如果XY 都是连续的线,则函数的图像有很直观表示,如右图是立方函数的图像:

注意两个集合XY 的二元关系有兩個定義:一是三元組(X,Y,G),其中G關係的圖;二是索性以關係的圖定義。用第二個定義則函数f 等於其图象。

函数範例[编辑]

  • 首都之於国家(若不把多首都国[1] 计算在内)。
  • 每个自然数n的平方n²是n的函數。
  • 對數函數。ln x实数x的函數。注意,在x為負实数時没有定義 ln x
  • 對每个在\mathbb{R}^2平面上的点,其和原点(0, 0)的距离是確定的。

常用的数学函数包括多项式函數根式函數冪函數对数函數有理函数三角函数反三角函數等。它们都是初等函数。非初等函数(或特殊函数)包括伽傌函數Bessel函数等。

函數的特性[编辑]

函數可分為

歧義函數[编辑]

歧義函數,也称多值函数,指可於一條數學等式中找到不少於一個正確答案。例如,4的平方根可以是2或者-2而兩者的平方皆是4。

嚴格來說,歧義函數不完全算是函數,因為數學函數的定義對於一個輸入值只能有唯一一個輸出值。實際上,這樣的「函數」通常被稱為關係式复变函数理论采用黎曼面处理函数多值的困境.

多元函数[编辑]

多元函数(n-元函數)是指輸入值為n-元組的函數。或者說,若一函數的輸入值域為n 個集合的積集的子集,這函數就是n-元函數。例如,距離函數dist((x,y))是一個二元函數,輸入值是由兩個點組成的序對。另外,多複變函數(即輸入值為複數的多元組)是一個重要的數學課題。

抽象代數中, 運算元其實都是函數,如乘法"*"是個二元函數:我們寫x*y 其實是*(x,y)的中綴表示法

函數式程序设计是一個以函數概念為中心的重要理論範例,其中的运算对象为多元函数,基本语法基于λ演算,而函数的复合(见下)则采用代换来完成。特别地,通过一种称为Currying的变换,可将多元函数变换为一元函数。

复合函数[编辑]

函數f: XYg: YZ複合函數

g o f: XZ :(g o f)(x) = g(ƒ(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: XY ,若值域 Y 中任何一个元素 y 的原象是唯一的,那么这个函数就被称为是双射的。对任意的yY到它的原象ƒ−1(y)的映射,我们称之为f的反函数,记为f−1

举一个反函数的例子,比如ƒ(x) = x3,它的反函数是ƒ−1(x) = 3x。同样,2x的反函数是x/2。反函数是一个函数,它能够“抵消”它的原函数。参见逆映射

函數的限制及擴張[编辑]

給出Y的子集X以及函數

f:Y\rightarrow Z

f|X:X\rightarrow Z
f|X(x)=f(x)

稱為fX限制

反之,若給出函數

g:X\to Z

則一個定義在Y的函數f:Y\to Z適合f|X=g,就是g擴張

点态运算[编辑]

設函數f: XRg: XRX為共同的輸入值域及R為共同輸出值域。我們可以定義“函數和”f + g: XR及“函數積”f × g: XR如下:

(f + g)(x) := ƒ(x) + g(x);
f × g(x) := ƒ(x) × g(x);

对于所有X中的x

這樣子我們得出一個函數組成的環。這是一個抽象性擴張的例子,由此我們由較簡單的結構得出更複雜的。

若然以抽象代數A代替R,得出的由XA的函數集會類似地擁有和A相同的代數結構。

可计算和不可计算函数[编辑]

所有从整数到整数的可计算函数的个数是可数的,这是因为所有可能的算法个数是可数的。从整数 到整数的函数个数要更多些-和实数个数一样多,也就是说是等的。这说明有些从整数到整数的函数是不可计算的。关于不可计算函数,请参看停机问题莱斯定理

范畴学中的函数[编辑]

函數定義為定义域X與上域Y的關係。而在范畴学中,函数的槪念被擴張成態射的槪念。 一個范畴包括一組物件與一組態射,每一個態射是個有序三元组(X, Y, f),其中f是从定义域X到上域Y的一個關係,而定义域与上域是范畴內的物件。基于这种解释,可以把函数看作集合范畴裡面的態射。

参见[编辑]

外部连接[编辑]

  • xFunctions一个多功能的Java小程序,可以显示函数的图像,既可以在线使用,也可以下载运行。