函数

函数（）是數學描述對應關係的一種特殊集合；粗略地說，從集合到集合的函數將的一個元素恰好分配給的每個元素。集合稱為函數的定义域，集合稱為函數的到达域。

函數最初是一個變化的量如何依賴另一個量的理想化。例如，特定時間行星的位置可以視為是行星的位置對時間的函數。“函数”一词作为数学概念是由莱布尼茨首先引入的。從歷史上看，這個概念是在17世紀末用無窮微積分來闡述的，直到19世紀，所考慮的函數都是可微的。函數的概念於19世紀末在集合論中被形式化，這大大擴展了這個概念的應用領域。


 簡介 
若是實數，以有序對為元素所構成的集合就是一個函数。直觀上代表「輸入」就可以得到唯一值的對應關係。

一般會以英文字母表示函数，並把依據函数的對應規則所得到的值写作，並讀作「f of x」。函数的概念不限於數之间的對應关系，例定义函数為世界上所有國家跟它現在的首都的對應關係，那輸入英国就會输出唯一值伦敦：。

直觀上的「多變數函數」其實也可以概括到一般函數的定義裡。例如算式有兩個實數參數和。可以將這兩個參數看作一個實數有序对，然後定義一個以為元素所構成的函數，然後把簡記成符合直觀的。

數學中，对应、映射、变换通常都是函数的別稱，但也可能有別的意思，如在拓扑學的映射有时代表的是连续函数。

在類型論的λ演算中，「對應關係」可以是作為一個原始概念（也就是無定義名詞），而不像上述的定義把函數視為集合的衍伸物。

函數的值域或像是定义域中所有元素的像之集合。

 历史 
函数（function）这个数学名词是莱布尼兹在1694年开始使用的，用來描述跟曲线相关的一個量，如曲线的斜率或者曲线上的某一点。莱布尼兹所指的函数现在被称作可导函数，数学家之外的普通人一般接触到的函数即属此类。对于可导函数可以讨论它的极限和导数，此两者描述了函数输出值的变化同输入值变化的关系，是微积分学的基础。中文的「函数」一词由清朝数学家李善兰译出。其《代数学》书中解释：「凡此變數中函（包含）彼變數者，則此為彼之函數」。
 1718年，約翰·伯努利把函数定义为「一个变量的函数是指由这个变量和常量以任何一种方式组成的一种量。」
 1748年，伯努利的学生欧拉在《无穷分析引论》一书中说：「一个变量的函数是由该变量和一些数或常量以任何一种方式构成的解析表达式」，例如。
 1775年，欧拉在《微分学原理》一书中又提出了函数的一个定义：「如果某些量以如下方式依赖于另一些量，即当后者变化时，前者本身也发生变化，则称前一些量是后一些量的函数。」
 19世纪的数学家开始对数学的各个分支進行形式化。维尔斯特拉斯倡議将微积分学建立在算术，而不是几何的基础上，這種主張較趋向于欧拉的定义。
 函数的定义得以擴展之後，数学家便能对一些「奇怪」的数学对象进行研究，例如處處不可导的连续函数。这些函数曾经被认为只具有理论价值，迟至20世纪初时它们仍被视作「怪物」。稍后，人们发现这些函数在对如布朗运动之类的物理现象进行建模时有重要的作用。
 到19世纪末，数学家开始尝试利用集合论来進行数学的形式化。他们试图将每一個数学对象都定义为集合。狄利克雷给出了现代正式的函数定义（参见下文#正式定義）。在他的定義下，函数被视作数学关系的特例。然而对于实际应用的情况，现代定义和欧拉定义的区别可以忽略不计。

正式定義
缩略图|225px|函数的部分图像。每个实数的都与相联系

（為了避免的括弧與逻辑敘述的括弧混淆，也會用來表示有序对）

也就是直觀上，有序对代表(輸入值, 輸出值)；而本身是以窮舉所有(輸入值, 輸出值)來詳盡定義的對應規則，且每個輸入值只能對應一個輸出值。

 函數值的簡記 
習慣上把「等價地」記為。但嚴謹來說，是在一阶逻辑公理化集合论下額外新增的雙元函數符號（因為與各為一個變數），而它的「定義」就是以下連帶額外增加的公理：

新增公理的合理性假設有，此時對公式套用量词公理A4有：

這樣綜合上式和就有：

換句話說：

這樣根據特定條件下的存在性就有：

這樣根據函數符號與唯一性的內容，就可以於策梅洛-弗兰克尔集合论增加上述的公理與雙元函數符號，且新增這個公理的新理論等效於原來的理論。
直觀上，這個公理表示「若為一函數且在的輸入值範圍，則；否則規定為空集」。

這樣根據函數符號與唯一性的定理(E)，就會有本節一開始所說的直觀性質：

也就是「若為一函數且在的輸入值範圍，則對所有的，等價於」。

對於「n變數」的函數，也就是以

為元素的函數，習慣上會把以下的項

進一步簡寫為

 定義域與值域 
如果能指出函數的「輸入值範圍」跟「輸出值範圍」，對數學的討論是相當方便的；事實上公理化集合論中，分类公理確保對任意集合有唯一的集合和（嚴格來說，單元函數符號）分別滿足
（「輸入值範圍」）
（「輸出值範圍」）
直觀上，是蒐集所有裡所有有序对的第一個所構成的集合；是蒐集所有裡所有有序对的第二個所構成的集合。這樣的話，如果本身就是函數的話，就是所謂的「輸入值範圍」，所以被稱為定義域；類似地，就是所謂的「輸出值範圍」，所以被稱為值域。

通常情況下，有以下慣用的記號

也就是直觀上，表示「是函數且其定義域為，且值域包含於。」。這種情況下，通常被俗稱為對應域。

屬於定義域的元素常被俗稱為自變量（independent variable），而項則被俗稱為因變量（dependent variable），但是這跟實驗上的自变量和因变量是稍有不同的，因為前者是現實得到的實驗值之間的關聯，但另一個是源於集合論的概念。

 一對一 

直觀上，若函數的輸出值都只能被唯一個輸入值對應，則稱是一對一的。

若是單射，那（根據分类公理所取的）以下的集合：

也是一個函數，被稱為的反函數。

 滿射 
這個簡記只能指出「輸出值不會超出」，為了彌補這個簡記的缺陷，口語上會將满射（surjective function）定義為「且值域就是」的函數。

 函數的簡記 
除了正式定義一節所規範的集合論表示法，一般的數學書籍會採用比較通俗的函數表記方法，下面將一一介紹。

 函數記號 
很多函數都是取实数為輸出值和輸入值，換句話說，都是（），這些函數很多都是以實數的四則運算去定義的。但考慮到实数加法可由皮亚诺公理裡的單元函數符號（直觀上解釋成「的下一個」，或說「」）建構出來，或被視為实数公理系統裡的雙元函數符號（簡記為），實數加法其實是一阶逻辑下的項；類似地，其他四則運算也可以此類推，而得出他們都是項的結論。所以直觀上定義实数函數的時候，都希望一條項（直觀上的運算式）能唯一決定一個函數，比如說，對於項：



以下的集合：



是一個函數。為了讓這類函數的表示更加簡潔，就衍伸出以下的表記方式：

這個表記方式被稱為函數記號（functional notation），直觀上表示「若從依序取出地代入裡，都可以得到唯一的輸出值，那可以定義一個的函數」。（有可能不滿足前提，從而無法定義這樣的一個函數，如取就無法得到唯一輸出值）

像是取為的話，因為實數加法的性質而有：



因為單元對被規定成：



這樣就可以把前面的函數簡記為：



如果定義域可以從上下文推斷出來，函數記號可以更不正式的寫為：



比如說函數就可以進一步簡記為：



這個記號是1734年第一次被萊昂哈德·歐拉所採用。但當時並沒有清楚地區分函數、項與幂级数，因為當時並沒有一阶逻辑這種清楚研究語言推理的系統；也並不知道有些物理應用的函數不能用幂级数展開。

 箭號表示 

以上的函數記號也可以稍作修改，來明確的指出「輸出值」的範圍：

這個表記方式被稱為箭號表示（arrow notation），直觀上表示「若把從依序取出地代入裡，都可以得到裡的某唯一輸出，那可以定義一個從到，對應規則為的函數」

上述符號也可以比較通俗地記為：



比如說，取為的話，因為實數加法的性質而有：



因為可以推出，所以可把函數表示成：



箭號表示常用來「固定」某個變數，來得到新的函數；假設是含有變數和的項，如果：




那根據：



若假設是將裡的都代換成所形成的新項，那以下的符號簡寫也是可行的：



直觀上來說，是把第二個變數「固定」成特定的所得到的新函數，英文上也可稱為。

 間隔號表示 
可以把箭號表示裡的都取代成间隔号，變成更通俗直觀的間隔號表示，比如說：



可以記為：



或是對於可積的，作如下定義的話：



函數的定義亦可不正式的記為：



但這個表記方法的明顯缺點是無法指出定義域，因為函數於哪個區間可積會決定以上的函數的定義可不可行。

 函数图形 

如果函數的值域跟定義域都是實數集合（俗稱為實函数），可以x軸代表定義域的範圍；y軸代表值域的範圍，把函數的每個元素標示在平面直角坐標上，這被稱為實函数在平面上的函數圖形。

對於「雙變數」的實函數，也就是以()

為元素的函數，可以取

然後以x軸為變化範圍；y軸為變化範圍；最後取z軸為的值域變化範圍，這樣就可以在三維直角坐標繪出的函數圖形。

 實函数的判别 
平面上的任意圖形可用豎直判别法判斷是否為實函数的圖形，即图形与任何一条平行于y轴的直线不能有一个以上的交點。但實際上這僅僅是函數正式定義的一種應用，因為平行于y轴的直线代表的是形如 

的集合，也就是此直線交x軸於，那這樣直線與實函數的交集就是 

而屬於這個交集裡的平面點最多只能有一個，否則就會跟每個只能對應一個的基本定義矛盾。

 像和原像 

像可以指兩種不同的概念

第一種是形如的項，直觀上代表的是依照函數的對應規則，使能對應到的那個「值」。(嚴謹的意義請回去參考函數值的簡記)

第二種指的是集合在函數下定義的集合

注意的值域就是定義域的像。在正式定義一節的最後例子中，在的像是，而的值域是。

類似的，集合在函數下的原像（或逆像）定義為：

沿用同一例子，可以看到的原像是，即空集。

以下是及的一些特性：
 ；
 ；
 ；
 ；
 ；
 。

這些特性適合定義域的任意子集及和到達域的任意子集及，甚至可推廣到任意子集群的交集和并集。

 函數的限制及擴張 
若且，那以下定義的集合(注意到代表笛卡儿积)

顯然為一函數，稱為在的限制。

反之，若、、且，那稱為的擴張。

通常希望擴張後的函數為解析函數，因為代數性質良好。這種擴張稱為解析延拓。

 点态运算 

設且且為環。這樣可以定義「函數和」與「函數積」如下：

很容易證明以上兩者也是函數，類似的對任意的可以定義下面這兩個集合

也是函數，其中被稱為常數函數。

 範例 

 首都之於国家（若不把多首都国计算在内)。
 每个自然数的平方是的函數。
 對數函數。是正实数的函數。注意，雖然可以把對數函數推廣到複數情況，但結果就不是函數了，而是多值函數。
 對每个在平面上的点，其和原点的距离是確定的。

常用的数学函数包括多项式函數、根式函數、冪函數、对数函數、有理函数、三角函数、反三角函數等。它们都是初等函数。非初等函数（或特殊函数）包括伽马函數和贝塞尔函数等。

 分類 
函數可分為
 奇函數或偶函數
 連續函數或不連續函數
 實函數或虛函數
 純量函數或向量函數
 单调增函数或单调减函数

 范畴論觀點 

在范畴论中，函数的槪念被推廣為態射的槪念。

一個范畴包括一組物件與一組態射，每一個態射是個三元组(X, Y, f)，X稱為源物件（定義域的類比），Y稱為目標物件（到達域的類比），而源物件与目標物件是范畴內的物件。基于这种解释，可以把函数看作集合范畴裡面的態射。

 註釋 

 參考文獻 








 延伸閱讀 








  An approachable and diverting historical presentation.





 外部链接 
 NIST數學函數
 mysuc.com，经典函数示例
 Wolfram函数网站，汇集了各数学函数的公式和图像
 Was ist eine Funktion? 
 xFunctions一个多功能的Java小程序，可以显示函数的图像，既可以在线使用，也可以下载运行。
 FooPlot 
 Curvas

H

H
H