函式是數學描述對應關係的一種特殊集合；粗略地說，從集合到集合的函式將的一個元素恰好分配給的每個元素。集合稱為函式的定義域，集合稱為函式的到達域。 函式最初是一個變化的量如何依賴另一個量的理想化。例如，特定時間行星的位置可以視為是行星的位置對時間的函式。函式 一詞作為數學概念是由萊布尼茨首先引入的。從歷史上看，這個概念是在 17 世紀末用無窮微積分來闡述的，直到 19 世紀，所考慮的函式都是可微的。函式的概念於 19 世紀末在集合論中被形式化，這大大擴充套件了這個概念的應用領域。 簡介 若 x 是實數，以有序對 xx2 為元素所構成的集合就是一個函式。直觀上代表「輸入」x 就可以得到唯一值 x2 的對應關係。 一般會以英文字母 fgh 表示函式，並把 x 依據函式 f 的對應規則所得到的值寫作 f x，並讀作「f of x」。函式的概念不限於數之間的對應關係，例定義函式 operatorname Capital 為世界上所有國家跟它現在的首都的對應關係，那輸入英國就會輸出唯一值倫敦：operatorname Capitalmathrm UK mathrm London。 直觀上的「多變數函式」其實也可以概括到一般函式的定義裡。例如算式 xtimes y 有兩個實數引數 x 和 y。可以將這兩個引數看作一個實數有序對 xy，然後定義一個以 xyxtimes y 為元素所構成的函式 f，然後把 f xy x times y 簡記成符合直觀的 f xy x times y 。 數學中，對應、對映、變換通常都是函式的別稱，但也可能有別的意思，如在拓撲學的對映有時代表的是連續函式。 在型別論的 λ 演算中，「對應關係」可以是作為一個原始概念（也就是無定義名詞），而不像上述的定義把函式視為集合的衍伸物。 函式的值域或像是定義域中所有元素的像之集合。 歷史 函式這個數學名詞是萊布尼茲在 1694 年開始使用的，用來描述跟曲線相關的一個量，如曲線的斜率或者曲線上的某一點。萊布尼茲所指的函式現在被稱作可導函式，數學家之外的普通人一般接觸到的函式即屬此類。對於可導函式可以討論它的極限和導數，此兩者描述了函式輸出值的變化同輸入值變化的關係，是微積分學的基礎。中文的「函式」一詞由清朝數學家李善蘭譯出。其《代數學》書中解釋：「凡此變數中函（包含）彼變數者，則此為彼之函式」。 1718 年，約翰伯努利把函式定義為「一個變數的函式是指由這個變數和常量以任何一種方式組成的一種量。」 1748 年，伯努利的學生尤拉在《無窮分析引論》一書中說：「一個變數的函式是由該變數和一些數或常量以任何一種方式構成的解析表示式」，例如 f xsin xx2。 1775 年，尤拉在《微分學原理》一書中又提出了函式的一個定義：「如果某些量以如下方式依賴於另一些量，即當後者變化時，前者本身也發生變化，則稱前一些量是後一些量的函式。」 19 世紀的數學家開始對數學的各個分支進行形式化。維爾斯特拉斯倡議將微積分學建立在算術，而不是幾何的基礎上，這種主張較趨向於尤拉的定義。 函式的定義得以擴充套件之後，數學家便能對一些「奇怪」的數學物件進行研究，例如處處不可導的連續函式。這些函式曾經被認為只具有理論價值，遲至 20 世紀初時它們仍被視作「怪物」。稍後，人們發現這些函式在對如布朗運動之類的物理現象進行建模時有重要的作用。 到 19 世紀末，數學家開始嘗試利用集合論來進行數學的形式化。他們試圖將每一個數學物件都定義為集合。狄利克雷給出了現代正式的函式定義（參見下文 正式定義）。在他的定義下，函式被視作數學關係的特例。然而對於實際應用的情況，現代定義和尤拉定義的區別可以忽略不計。 正式定義 （為了避免 xy 的括弧與邏輯敘述的括弧混淆，也會用 langle xy rangle 來表示有序對） 也就是直觀上，有序對 xy 代表 輸入值，輸出值；而 f 本身是以窮舉所有 輸入值，輸出值 來詳盡定義的對應規則，且每個輸入值只能對應一個輸出值。 函式值的簡記 習慣上把 xyin f「等價地」記為 yf x。但嚴謹來說，f x 是在一階邏輯公理化集合論下額外新增的雙元函式符號（因為 x 與 f 各為一個變數），而它的「定義」就是以下連帶額外增加的公理： 新增公理的合理性 假設有 mathcal B wedge mathcal C ，此時對公式 mathcal B 套用量詞公理 A4 有： forall yforall yprime langle xy rangle in f wedge langle xyprimerangle in f Rightarrow yyprime 這樣綜合上式和 mathcal C 就有： exists ylangle xy rangle in f 換句話說： mathcal B wedge mathcal C vdash exists ylangle xy rangle in f 這樣根據特定條件下的存在性就有： vdash exists y neg mathcal Bwedgemathcal C wedge yvarnothing vee mathcal Bwedgemathcal C wedge langle xy rangle in f 這樣根據函式符號與唯一性的內容，就可以於策梅洛 弗蘭克爾集合論增加上述的公理與雙元函式符號 f x ，且新增這個公理的新理論等效於原來的理論。 直觀上，這個公理表示「若 f 為一函式且 x 在 f 的輸入值範圍，則 langle xf x rangle in f；否則規定 f x 為空集」。 這樣根據函式符號與唯一性的定理 E，就會有本節一開始所說的直觀性質： mathcal B land mathcal C vdash forall y y f x Leftrightarrow langle x y rangle in f 也就是「若 f 為一函式且 x 在 f 的輸入值範圍，則對所有的 y，langle xy rangle in f 等價於 y f x」。 對於「n 變數」的函式，也就是以 x_1cdotsx_ny 為元素的函式 mathcal f，習慣上會把以下的項 f x_1cdots x_n 進一步簡寫為 f x_1cdots x_n 定義域與值域 如果能指出函式 f 的「輸入值範圍」跟「輸出值範圍」，對數學的討論是相當方便的；事實上公理化集合論中，分類公理確保對任意集合 A 有唯一的集合 D_A 和 I_A（嚴格來說，單元函式符號）分別滿足 forall xx in D_A Leftrightarrow exists yxy in A（「輸入值範圍」） forall yy in I_A Leftrightarrow exists xxy in A（「輸出值範圍」） 直觀上，D_A 是蒐集所有 A 裡所有有序對的第一個所構成的集合；I_A 是蒐集所有 A 裡所有有序對的第二個所構成的集合。這樣的話，如果 A 本身就是函式的話，D_A 就是所謂的「輸入值範圍」，所以被稱為定義域；類似地，I_A 就是所謂的「輸出值範圍」，所以被稱為值域。 通常情況下，有以下慣用的記號 f X to Y f text is a function wedge D_fX wedge I_f subseteq Y 也就是直觀上，f X to Y 表示「f 是函式且其定義域為 X，且值域包含於 Y。」。這種情況下，Y 通常被俗稱為對應域。 屬於定義域 D_f 的元素 x 常被俗稱為自變數（independent variable），而項 f x 則被俗稱為因變數（dependent variable），但是這跟實驗上的自變數和因變數是稍有不同的，因為前者是現實得到的實驗值之間的關聯，但另一個是源於集合論的概念。 一對一 直觀上，若函式 f 的輸出值都只能被唯一個輸入值對應，則稱 f 是一對一的。 若 f 是單射，那（根據分類公理所取的）以下的集合： f1pexists xexists yp yxwedge y f x 也是一個函式，被稱為 f 的反函式。 滿射 f X to Y 這個簡記只能指出「輸出值不會超出 Y」，為了彌補這個簡記的缺陷，口語上會將滿射（surjective function）定義為「f X to Y 且值域就是 Y」的函式。 函式的簡記 除了正式定義一節所規範的集合論表示法，一般的數學書籍會採用比較通俗的函式表記方法，下面將一一介紹。 函式記號 很多函式都是取實數為輸出值和輸入值，換句話說，都是 f A to R（A subseteq R），這些函式很多都是以實數的四則運算去定義的。但考慮到實數加法可由皮亞諾公理裡的單元函式符號 S x（直觀上解釋成「x 的下一個」，或說「x 1」）建構出來，或被視為實數公理系統裡的雙元函式符號 P xy（簡記為 x y），實數加法其實是一階邏輯下的項；類似地，其他四則運算也可以此類推，而得出他們都是項的結論。所以直觀上定義實數函式的時候，都希望一條項（直觀上的運算式）能唯一決定一個函式，比如說，對於項： x 1 以下的集合： h bigg p bigg exists x in Rp x x 1 bigg 是一個函式。為了讓這類函式的表示更加簡潔，就衍伸出以下的表記方式： 這個表記方式被稱為函式記號（functional notation），直觀上表示「若從 X_i 依序取出地 x_i 代入 T 裡，都可以得到唯一的輸出值，那可以定義一個 f x_1dotsx_n T 的函式」。（T 有可能不滿足前提，從而無法定義這樣的一個函式，如取 T x_1 z 就無法得到唯一輸出值） 像是取 T 為 x 1 的話，因為實數加法的性質而有： forall x in Rexists yy x 1 因為單元對被規定成： langle x rangle x 這樣就可以把前面的函式 h 簡記為： h x x 1 x in R 如果定義域可以從上下文推斷出來，函式記號可以更不正式的寫為： f x_1dotsx_n T 比如說函式 h 就可以進一步簡記為： h x x 1 這個記號是 1734 年第一次被萊昂哈德尤拉所採用。但當時並沒有清楚地區分函式、項與冪級數，因為當時並沒有一階邏輯這種清楚研究語言推理的系統；也並不知道有些物理應用的函式不能用冪級數展開。 箭號表示 以上的函式記號也可以稍作修改，來明確的指出「輸出值」的範圍： 這個表記方式被稱為箭號表示（arrow notation），直觀上表示「若把從 X_i 依序取出地 x_i 代入 T 裡，都可以得到 Y 裡的某唯一輸出，那可以定義一個從 X 到 Y，對應規則為 langle x_1dotsx_n rangle mapsto T 的函式 f 」 上述符號也可以比較通俗地記為： f X_1 times dots times X_n to Y f x_1dotsx_n T 比如說，取 T_x 為 x 1 的話，因為實數加法的性質而有： forall x in Rexists yy in R wedge y x 1 因為 x in R 可以推出 x 1 in R ，所以可把函式 h 表示成： h R to R h x x 1 箭號表示常用來「固定」某個變數，來得到新的函式；假設 T_xt 是含有變數 x 和 t 的項，如果： f Xtimes Tto Yxt mapsto T_xt tau in T 那根據： forall xforall yforall xprimeforall yprimelangle x y rangle langle xprime yprimerangle Leftrightarrow x x wedge yprime yprime 若假設 T_xtau 是將 T_xt 裡的 t 都代換成 tau 所形成的新項，那以下的符號簡寫也是可行的： f_tau Xto Y x mapsto T_xtau 直觀上來說，f_tau 是把 f 第二個變數 t 「固定」成特定的 tau 所得到的新函式，英文上也可稱為。 間隔號表示 可以把箭號表示裡的 x 都取代成間隔號，變成更通俗直觀的間隔號表示，比如說： f R to Rx mapsto x2 可以記為： cdot2 或是對於 ab 可積的 f ab to R，作如下定義的話： g ab to Rx mapsto int_ax f u du 函式 g 的定義亦可不正式的記為： int_acdot f u du 但這個表記方法的明顯缺點是無法指出定義域，因為函式於哪個區間可積會決定以上的函式 g 的定義可不可行。 函式圖形 如果函式 f 的值域跟定義域都是實數集合（俗稱 f 為實函式），可以 x 軸代表定義域的範圍；y 軸代表值域的範圍，把函式的每個元素標示在平面直角坐標上，這被稱為實函式 f 在平面上的函式圖形。 對於「雙變數」的實函式 g，也就是以 xyzinmathbb R xyz 為元素的函式，可以取 D_x xexists yexists z g xyz D_y xexists xexists z g xyz 然後以 x 軸為 D_x 變化範圍；y 軸為 D_y 變化範圍；最後取 z 軸為 g 的值域變化範圍，這樣就可以在三維直角坐標繪出 g 的函式圖形。 實函式的判別 平面上的任意圖形可用豎直判別法判斷是否為實函式的圖形，即圖形與任何一條平行於 y 軸的直線不能有一個以上的交點。但實際上這僅僅是函式正式定義的一種應用，因為平行於 y 軸的直線代表的是形如 pin mathbb R2exists y in mathbb R p cy 的集合，也就是此直線交 x 軸於 c 0，那這樣直線與實函式 f 的交集就是 pin mathbb R2exists y in mathbb R p cy wedge y f c 而屬於這個交集裡的平面點最多隻能有一個，否則就會跟每個 xin D_f 只能對應一個 f x 的基本定義矛盾。 像和原像 像可以指兩種不同的概念 第一種是形如 f x 的項，直觀上代表的是依照函式 f 的對應規則，使 x 能對應到的那個「值」。嚴謹的意義請回去參考函式值的簡記 第二種指的是集合 A 在函式 f 下定義的集合 f A f A y exists xin Ayf x 注意 f 的值域就是定義域 D_f 的像 f D_f。在正式定義一節的最後例子中，23 在 f 的像是 f 2 3c d，而 f 的值域是 c d。 類似的，集合 B 在函式 f 下的原像（或逆像）定義為： f1Bx exists yyf x wedge y in B 沿用同一例子，可以看到 a b 的原像是 f1a b varnothing，即空集。 以下是 f 及 f1 的一些特性： f A_1 cup A_2 f A_1 cup f A_2； f A_1 cap A_2 subseteq f A_1 cap f A_2； f B_1 cup B_2 f1B_1 cup f1B_2； f1B_1 cap B_2 f1B_1 cap f1B_2； f1f B subseteq B； f1f A supseteq A。 這些特性適合定義域的任意子集 A A_1 及 A_2 和到達域的任意子集 B B_1 及 B_2，甚至可推廣到任意子叢集的交集和並集。 函式的限制及擴張 若 fX to Y 且 Xprime subset X，那以下定義的集合 f_Xprime注意到 times 代表笛卡兒積 f_Xprime biggxybigg x in Xprime wedge yf x bigg f cap Xprime times Y 顯然為一函式，稱為 f 在 Xprime 的限制。 反之，若 gXto Z、Xsubseteq Y、fYto Z 且 f_Xg，那 f 稱為 g 的擴張。 點態運算 設 fX to R 且 gX to R 且 Rtimes 為環。這樣可以定義「函式和」fg 與「函式積」f times g 如下： begin align f g biggxybigg x in X wedge yf xg x bigg end align begin align f g biggxybigg x in X wedge yf x times g x bigg end align 很容易證明以上兩者也是函式，類似的對任意的 r in R 可以定義下面這兩個集合 begin align r_R biggxybigg x in X wedge y r bigg end align begin align rcdot f biggxybigg x in X wedge y r times f x bigg end align 也是函式，其中 r_R 被稱為常數函式。 範例 首都之於國家（若不把多首都國計算在內。 每個自然數 n 的平方 n2 是 n 的函式。 對數函式。ln x 是正實數 x 的函式。注意，雖然可以把對數函式推廣到複數情況，但結果就不是函式了，而是多值函式。 對每個在 R2 平面上的點，其和原點 0 0 的距離是確定的。 常用的數學函式包括多項式函式、根式函式、冪函式、對數函式、有理函式、三角函式、反三角函式等。它們都是初等函式。非初等函式（或特殊函式）包括伽馬函式和貝塞爾函式等。 分類 函式可分為 奇函式或偶函式 連續函式或不連續函式 實函式或虛擬函式 純量函式或向量函式 單調增函式或單調減函式 範疇論觀點 在範疇論中，函式的槪念被推廣為態射的槪念。 一個範疇包括一組物件與一組態射，每一個態射是個三元組 X Y f，X 稱為源物件（定義域的類比），Y 稱為目標物件（到達域的類比），而源物件與目標物件是範疇內的物件。基於這種解釋，可以把函式看作集合範疇裡面的態射。 註釋 參考文獻 延伸閱讀 An approachable and diverting historical presentation 外部連結 NIST 數學函式 mysuccom，經典函式示例 Wolfram 函式網站，彙集了各數學函式的公式和影像 Was ist eine Funktion xFunctions 一個多功能的 Java 小程式，可以顯示函式的影像，既可以線上使用，也可以下載執行。 FooPlot Curvas H H H