函數

維基百科,自由的百科全書
前往: 導覽搜尋
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)= f(y)。
  • 滿射函數,其值域即為其對映域。即:對映射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小程序,可以顯示函數的圖像,既可以在線使用,也可以下載運行。