此條目介紹的是数学中的函数。关于程序设计中的函数，请见「**子程序**」。
函数{\displaystyle f} 就像機器或黑箱，给予输入值{\displaystyle x}便產生唯一输出值{\displaystyle f(x)}
**函数**（英語：）是數學描述對應關係的一種特殊集合；粗略地說，從集合X到集合Y的函數將Y的一個元素恰好分配給X的每個元素。集合X稱為函數的定义域，集合Y稱為函數的到达域。

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

將形狀映射到其顏色的函數

簡介
--

若{\displaystyle x}是實數，以有序對 {\displaystyle (x,\,x^{2})} 為元素所構成的集合就是一個函数。直觀上代表＂輸入＂ {\displaystyle x} 就可以得到唯一值 {\displaystyle x^{2}} 的對應關係。

一般會以英文字母 {\displaystyle f,\,g,\,h} 表示函数，並把 {\displaystyle x} 依據函数 {\displaystyle f} 的對應規則所得到的值写作{\displaystyle f(x)} ，並讀作"*f of x"*。函数的概念不限於數之间的對應关系，例定义函数 {\displaystyle \operatorname {Capital} } 為世界上所有國家跟它現在的首都的對應關係，那輸入英国就會输出唯一值伦敦：{\displaystyle \operatorname {Capital} (\mathrm {U.K.} )=\mathrm {London} }。 

直觀上的「多變數函數」其實也可以概括到一般函數的定義裡。例如算式 {\displaystyle x\times y} 有兩個實數參數 {\displaystyle x} 和 {\displaystyle y}。可以將這兩個參數看作一個實數有序对 {\displaystyle (x,y)} ，然後定義一個以 {\displaystyle ((x,\,y),\,x\times y)} 為元素所構成的函數 {\displaystyle f} ，然後把 {\displaystyle f[(x,\,y)]=x\times y} 簡記成符合直觀的 {\displaystyle f(x,\,y)=x\times y} 。

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

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

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

历史
--

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

* 1718年，約翰·伯努利把函数定义为"一个变量的函数是指由这个变量和常量以任何一种方式组成的一种量。"
* 1748年，伯努利的学生欧拉在《无穷分析引论》一书中说："一个变量的函数是由该变量和一些数或常量以任何一种方式构成的解析表达式"，例如{\displaystyle f(x)=\sin(x)+x^{2}}。
* 1775年，欧拉在《微分学原理》一书中又提出了函数的一个定义："如果某些量以如下方式依赖于另一些量，即当后者变化时，前者本身也发生变化，则称前一些量是后一些量的函数。"
* 19世纪的数学家开始对数学的各个分支進行形式化。维尔斯特拉斯倡議将微积分学建立在算术，而不是几何的基础上，這種主張較趋向于欧拉的定义。
* 函数的定义得以擴展之後，数学家便能对一些"奇怪"的数学对象进行研究，例如處處不可导的连续函数。这些函数曾经被认为只具有理论价值，迟至20世纪初时它们仍被视作"怪物"。稍后，人们发现这些函数在对如布朗运动之类的物理现象进行建模时有重要的作用。
* 到19世纪末，数学家开始尝试利用集合论来進行数学的形式化。他们试图将每一個数学对象都定义为集合。狄利克雷给出了现代正式的函数定义（参见下文#正式定義）。在他的定義下，函数被视作数学关系的特例。然而对于实际应用的情况，现代定义和欧拉定义的区别可以忽略不计。

正式定義
----

函数*f*的部分图像。每个实数的*x*都与*f*（*x*） = *x*3 − 9*x*相联系

**定義** —   

二元關係 {\displaystyle f} 若滿足：

{\displaystyle (\forall x)(\forall y)(\forall y^{\prime })\{\,[\,(\langle x,\,y\rangle \in f)\wedge (\langle x,\,y^{\prime }\rangle \in f)\,]\Rightarrow (y=y^{\prime })\,\}}
則稱為 {\displaystyle f} 為一函數。

（為了避免 {\displaystyle (x,\,y)} 的括弧與逻辑敘述的括弧混淆，也會用 {\displaystyle \langle x,\,y\rangle } 來表示有序对）

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

### 函數值的簡記

習慣上把 {\displaystyle (x,\,y)\in f} 「等價地」記為 {\displaystyle y=f(x)} 。但嚴謹來說， {\displaystyle f(x)} 是在一阶逻辑公理化集合论下額外新增的雙元函數符號 ( 因為 {\displaystyle x} 與 {\displaystyle f} 各為一個變數) ，而它的「定義」就是以下連帶額外增加的公理：

**公理** —   

{\displaystyle [\,\neg ({\mathcal {B}}\wedge {\mathcal {C}})\wedge (f(x)=\varnothing )\,]\vee [\,({\mathcal {B}}\wedge {\mathcal {C}})\wedge (\langle x,\,f(x)\rangle \in f)\,]}
其中：
{\displaystyle {\mathcal {B}}:=(\forall x)(\forall y)(\forall y^{\prime })\{\,[\,(\langle x,\,y\rangle \in f)\wedge (\langle x,\,y^{\prime }\rangle \in f)\,]\Rightarrow (y=y^{\prime })\,\}} （{\displaystyle f} 的每個輸入值只能對應一個輸出值）
{\displaystyle {\mathcal {C}}:=(\exists y)(\langle x,\,y\rangle \in f)} （{\displaystyle x} 在 {\displaystyle f} 規定的輸入值範圍內）

| **新增公理的合理性** |
| --- |
| 假設有 {\displaystyle {\mathcal {B}}\wedge {\mathcal {C}}} ，此時對公式 {\displaystyle {\mathcal {B}}} 套用量词公理A4有：
{\displaystyle (\forall y)(\forall y^{\prime })\{\,[\,(\langle x,\,y\rangle \in f)\wedge (\langle x,\,y^{\prime }\rangle \in f)\,]\Rightarrow (y=y^{\prime })\,\}}
這樣綜合上式和 {\displaystyle {\mathcal {C}}} 就有：
{\displaystyle (\exists !y)(\langle x,\,y\rangle \in f)}
換句話說：
{\displaystyle {\mathcal {B}}\wedge {\mathcal {C}}\vdash (\exists !y)(\langle x,\,y\rangle \in f)}
這樣根據特定條件下的存在性就有：
{\displaystyle \vdash (\exists !y)\{\,[\,\neg ({\mathcal {B}}\wedge {\mathcal {C}})\wedge (y=\varnothing )\,]\vee [\,({\mathcal {B}}\wedge {\mathcal {C}})\wedge (\langle x,\,y\rangle \in f)\,]\,\}}
這樣根據函數符號與唯一性的內容，就可以於策梅洛-弗兰克尔集合论增加上述的公理與雙元函數符號 {\displaystyle f(x)}，且新增這個公理的新理論等效於原來的理論。 |

直觀上，這個公理表示「若 {\displaystyle f} 為一函數且 {\displaystyle x} 在 {\displaystyle f} 的輸入值範圍，則 {\displaystyle \langle x,\,f(x)\rangle \in f}；否則規定 {\displaystyle f(x)} 為空集」。

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

{\displaystyle {\mathcal {B}}\land {\mathcal {C}}\vdash (\forall y)\{\,[\,y=f(x)\,]\Leftrightarrow [\,\langle x,\,y\rangle \in f\,]\,\}}
也就是「若 {\displaystyle f} 為一函數且 {\displaystyle x} 在 {\displaystyle f} 的輸入值範圍，則對所有的 {\displaystyle y} ， {\displaystyle \langle x,\,y\rangle \in f} 等價於 {\displaystyle y=f(x)} 」。

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

{\displaystyle ((x\_{1},\,\cdots ,\,x\_{n}),\,y)}
為元素的函數 {\displaystyle {\mathcal {f}}}，習慣上會把以下的項

{\displaystyle f[(x\_{1},\cdots ,\,x\_{n})]}
進一步簡寫為

{\displaystyle f(x\_{1},\cdots ,\,x\_{n})}
### 定義域與值域

如果能指出函數 {\displaystyle f} 的 "輸入值範圍" 跟 "輸出值範圍" ，對數學的討論是相當方便的；事實上公理化集合論中，分类公理確保對任意集合 {\displaystyle A} 有唯一的集合 {\displaystyle D\_{A}} 和 {\displaystyle I\_{A}} （嚴格來說，單元函數符號 ）分別滿足

{\displaystyle (\forall x)\{(x\in D\_{A})\Leftrightarrow (\exists y)[\,(x,\,y)\in A\,]\}} （「輸入值範圍」）
{\displaystyle (\forall y)\{(y\in I\_{A})\Leftrightarrow (\exists x)[\,(x,\,y)\in A\,]\}}　（「輸出值範圍」）
直觀上， {\displaystyle D\_{A}} 是蒐集所有 {\displaystyle A} 裡所有有序对的第一個所構成的集合； {\displaystyle I\_{A}} 是蒐集所有 {\displaystyle A} 裡所有有序对的第二個所構成的集合。這樣的話，如果 {\displaystyle A} 本身就是函數的話， {\displaystyle D\_{A}} 就是所謂的「輸入值範圍」，所以被稱為定義域；類似地， {\displaystyle I\_{A}} 就是所謂的 「輸出值範圍」，所以被稱為值域。

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

{\displaystyle f:X\to Y:=[\,(f{\text{ is a function}})\wedge (D\_{f}=X)\wedge (I\_{f}\subseteq Y)\,]}
也就是直觀上，{\displaystyle f:X\to Y} 表示「 {\displaystyle f} 是函數且其定義域為 {\displaystyle X} ，且值域包含於 {\displaystyle Y}。」。這種情況下， {\displaystyle Y} 通常被俗稱為對應域。

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

### 一對一

**定義** —   

函數 {\displaystyle f} 若滿足

{\displaystyle (\forall y)(\forall x)(\forall x^{\prime })\{\,[\,(\langle x,\,y\rangle \in f)\wedge (\langle x^{\prime },\,y\rangle \in f)\,]\Rightarrow (x=x^{\prime })\,\}}

則被稱為**一對一的**（one-to-one）或是单射（injective function）。

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

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

{\displaystyle f^{-1}:=\{\,p\,|\,(\exists x)(\exists y)[\,p=(y,\,x)\,\wedge \,y=f(x)\,]\,\}}
也是一個函數，被稱為 {\displaystyle f} 的反函數。

### 滿射

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

（1）一對多。*X*中的元素3与*Y*中的两个元素*b*和*c*相关。因此这是**多值函数**，而不是函数。（2）一對一但非完全對應。*X*的元素1未与*Y*的任一元素相关。因此这是**偏函数**，而*不是*函数。（3）完全對應且多对一，因此这是从*X*到*Y*的函数。此函数可以表示为{\displaystyle f=\{\,(1,d),(2,d),(3,c)\}}，或{\displaystyle f(x)=\left\{{\begin{matrix}d,&{\mbox{if }}x=1\\d,&{\mbox{if }}x=2\\c,&{\mbox{if }}x=3\end{matrix}}\right.}

函數的簡記
-----

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

### 函數記號

一般的函數都是取实数為輸出值和輸入值，也就是嚴格地說，一般的函數都是 {\displaystyle f:A\to \mathbb {R} } （{\displaystyle A\subseteq \mathbb {R} }）。而實數四則運算的結果通常都是唯一的，比如說，對於任意实数 {\displaystyle a,\,b\in \mathbb {R} } ，都有唯一的 {\displaystyle c\in \mathbb {R} } 使得 {\displaystyle c=a+b}。但考慮到实数加法可由皮亚诺公理裡的單元函數符號 {\displaystyle S(x)} （直觀上代表「{\displaystyle x} 的下一個」，或說「{\displaystyle x+1} 」）所延伸出來的，或是本身就是实数公理系統裡的雙元函數符號{\displaystyle P(x,\,y)}（通常簡記為 {\displaystyle x+y} ），不管如何，它們都是一阶逻辑下的項；類似地，乘法本身也來自於函數符號，所以一般所謂的運算式其實是函數符號的組合，換句話說，就是項。所以直觀上定義实数函數的時候，都希望一條項（直觀上的運算式）能唯一決定一個函數，比如說，對於項：

{\displaystyle x+1}
以下的集合：

{\displaystyle h:={\bigg \{}p\,{\bigg |}\,(\exists x\in \mathbb {R} )[p=(x,\,x+1)]{\bigg \}}}
是一個函數。為了讓這個符號表示更加簡潔，就衍伸出以下的表記方式：

**符號定義** —   

{\displaystyle X} 是集合，{\displaystyle T\_{x}} 是含有變數 {\displaystyle x} 的項，在：

{\displaystyle (\forall x\in X)(\exists !y)(y=T\_{x})}
的前提下，可做以下的符號定義：

{\displaystyle f(x)=T\_{x}\;\;(x\in X)\,}
{\displaystyle :=}
{\displaystyle f={\bigg \{}p\,{\bigg |}\,(\exists x\in X)[p=\langle x,\,T\_{x}\rangle ]{\bigg \}}}

這個表記方式被稱為**函數記號**（functional notation），直觀上表示「若所有 {\displaystyle X} 的元素 {\displaystyle x} 輸入運算式 {\displaystyle T\_{x}} 裡，都可以得到唯一的輸出值，那可以定義一個 {\displaystyle f(x)=T\_{x}} 的函數」。

像是取 {\displaystyle T\_{x}} 為 {\displaystyle x+1} 的話，因為實數加法的性質而有：

{\displaystyle (\forall x\in \mathbb {R} )(\exists !y)(y=x+1)}
這樣就可以把前面的函數 {\displaystyle h} 簡記為：

{\displaystyle h(x)=x+1\;(x\in \mathbb {R} )}
如果 {\displaystyle X} 可以從上下文推斷出來，函數記號可以更不正式的寫為：

{\displaystyle f(x)=T\_{x}}
比如說函數 {\displaystyle h} 就可以進一步簡記為：

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

### 箭號表示

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

**符號定義** —   

{\displaystyle X} 與 {\displaystyle Y} 都是集合，{\displaystyle T\_{x}} 是含有變數 {\displaystyle x} 的項，在：

{\displaystyle (\forall x\in X)(\exists !y)[\,(y\in Y)\wedge (y=T\_{x})\,]}
的前提下，可做以下的符號定義：

{\displaystyle f:X\to Y;\;x\mapsto T\_{x}}
{\displaystyle :=}
{\displaystyle f={\bigg \{}p\,{\bigg |}\,(\exists x\in X)[(p=\langle x,\,T\_{x}\rangle )\wedge (T\_{x}\in Y)]{\bigg \}}}

這個表記方式被稱為**箭號表示**（arrow notation），直觀上表示「若所有 {\displaystyle X} 的元素 {\displaystyle x} 輸入運算式 {\displaystyle T\_{x}} 裡，都可以得到 {\displaystyle Y} 裡的某個唯一的輸出值，那可以定義一個從{\displaystyle X} 到 {\displaystyle Y}，對應規則為 {\displaystyle x\mapsto T\_{x}} 的函數 {\displaystyle f} 」

比如說，取 {\displaystyle T\_{x}} 為 {\displaystyle x+1} 的話，因為實數加法的性質而有：

{\displaystyle (\forall x\in \mathbb {R} )(\exists !y)[(y\in \mathbb {R} )\wedge (y=x+1)]}
這樣就可以把以下的函數 {\displaystyle h} ：

{\displaystyle h={\bigg \{}p\,{\bigg |}\,(\exists x\in \mathbb {R} )[(p=\langle x,\,x+1\rangle )]{\bigg \}}}
（因為 {\displaystyle x\in \mathbb {R} } 可以自動推出 {\displaystyle x+1\in \mathbb {R} }）表示成：

{\displaystyle h:\mathbb {R} \to \mathbb {R} ;\;x\mapsto x+1}
箭號表示常用來「固定」某個變數，來得到新的函數；假設 {\displaystyle T\_{xt}} 是含有變數 {\displaystyle x} 和 {\displaystyle t} 的項，如果：

{\displaystyle f:X\times T\to Y;\;(x,t)\mapsto T\_{xt}}
{\displaystyle \tau \in T}
那根據：

{\displaystyle (\forall x)(\forall y)(\forall x^{\prime })(\forall y^{\prime })\{(\langle x,y\rangle =\langle x^{\prime },y^{\prime }\rangle )\Leftrightarrow [(x=x)\wedge (y^{\prime }=y^{\prime })]\}}
若假設 {\displaystyle T\_{x\tau }} 是將 {\displaystyle T\_{xt}} 裡的 {\displaystyle t} 都代換成 {\displaystyle \tau } 所形成的新項，那以下的符號簡寫也是可行的：

{\displaystyle f\_{\tau }:X\to Y;\;x\mapsto T\_{x\tau }}
直觀上來說， {\displaystyle f\_{\tau }} 是把 {\displaystyle f} 第二個變數 {\displaystyle t} 「固定」成特定的 {\displaystyle \tau } 所得到的新函數，英文上也可稱為。

### 間隔號表示

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

{\displaystyle f:\mathbb {R} \to \mathbb {R} ;\;x\mapsto x^{2}}
可以記為：

{\displaystyle {(\cdot )}^{2}}
或是對於 {\displaystyle [a,\,b]} 可積的{\displaystyle f:[a,\,b]\to \mathbb {R} } ，作如下定義的話：

{\displaystyle g:[a,\,b]\to \mathbb {R} ;\;x\mapsto \int \_{a}^{x}f(u)\,du}
函數 {\displaystyle g} 的定義亦可不正式的記為：

{\displaystyle \int \_{a}^{(\cdot )}f(u)\,du}
但這個表記方法的明顯缺點是無法指出定義域，因為函數於哪個區間可積會決定以上的函數 {\displaystyle g} 的定義可不可行。

函数图形
----



sin(x)等函數的圖形
条目：函数图形

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

對於"雙變數"的實函數 {\displaystyle g} ，也就是以 ({\displaystyle x,\,y,\,z\in \mathbb {R} })

{\displaystyle ((x,\,y),\,z)}
為元素的函數，可以取

{\displaystyle D\_{x}=\{\,x\,|\,(\exists y)(\exists z)[\,g(x,\,y)=z\,]\,\}}
{\displaystyle D\_{y}=\{\,x\,|\,(\exists x)(\exists z)[\,g(x,\,y)=z\,]\,\}}
然後以 x 軸為 {\displaystyle D\_{x}} 變化範圍；y 軸為 {\displaystyle D\_{y}} 變化範圍；最後取z 軸為 {\displaystyle g} 的值域變化範圍，這樣就可以在三維直角坐標繪出 {\displaystyle g} 的**函數圖形**。

### 實函数的判别

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

{\displaystyle \{\,p\in {\mathbb {R} }^{2}\,|\,(\exists y\in \mathbb {R} )[\,p=(c,\,y)\,]\,\}}
的集合，也就是此直線交 x 軸於 {\displaystyle (c,\,0)} ，那這樣直線與實函數 {\displaystyle f} 的交集就是 

{\displaystyle \{\,p\in {\mathbb {R} }^{2}\,|\,(\exists y\in \mathbb {R} )[\,p=(c,\,y)\wedge y=f(c)\,]\,\}}
而屬於這個交集裡的平面點**最多只能有一個**，否則就會跟每個 {\displaystyle x\in D\_{f}} 只能對應一個 {\displaystyle f(x)} 的基本定義矛盾。

像和原像
----

**像**可以指兩種不同的概念

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

第二種指的是集合 {\displaystyle A} 在函數 {\displaystyle f} 下定義的集合 {\displaystyle f(A)}

{\displaystyle f(A):=\{\,y\,|\,(\exists x\in A)[\,y=f(x)\,]\,\}}
注意 {\displaystyle f} 的值域就是定義域 {\displaystyle D\_{f}} 的像 {\displaystyle f(D\_{f})} 。在正式定義一節的最後例子中， {\displaystyle \{2,3\}} 在 {\displaystyle f} 的像是 {\displaystyle f(\{2,3\})=\{c,d\}}，而 {\displaystyle f} 的值域是 {\displaystyle \{c,d\}} 。

類似的，集合 {\displaystyle B} 在函數 {\displaystyle f} 下的**原像**（或*逆像*）定義為：

{\displaystyle f^{-1}(B):=\{\,x\,|\,(\exists y)[\,y=f(x)\wedge y\in B\,]\,\}}
沿用同一例子，可以看到 {\displaystyle \{a,b\}} 的原像是 {\displaystyle f^{-1}(\{a,b\})=\varnothing } ，即空集。

以下是{\displaystyle f}及{\displaystyle f^{-1}}的一些特性：

* {\displaystyle f(A\_{1}\cup A\_{2})=f(A\_{1})\cup f(A\_{2})}；
* {\displaystyle f(A\_{1}\cap A\_{2})\subseteq f(A\_{1})\cap f(A\_{2})}；
* {\displaystyle f(B\_{1}\cup B\_{2})=f^{-1}(B\_{1})\cup f^{-1}(B\_{2})}；
* {\displaystyle f^{-1}(B\_{1}\cap B\_{2})=f^{-1}(B\_{1})\cap f^{-1}(B\_{2})}；
* {\displaystyle f^{-1}(f(B))\subseteq B}；
* {\displaystyle f^{-1}(f(A))\supseteq A}。

這些特性適合定義域的任意子集{\displaystyle A,A\_{1}}及{\displaystyle A\_{2}}和到達域的任意子集{\displaystyle B,B\_{1}}及{\displaystyle B\_{2}}，甚至可推廣到任意子集群的交集和并集。

函數的限制及擴張
--------

若 {\displaystyle f:X\to Y} 且 {\displaystyle X^{\prime }\subset X} ， 那以下定義的集合{\displaystyle f|\_{X^{\prime }}} ( 注意到 {\displaystyle \times } 代表笛卡儿积 )

{\displaystyle f|\_{X^{\prime }}:={\bigg \{}\,(x,\,y)\,{\bigg |}\,(x\in X^{\prime })\wedge [\,y=f(x)\,]\,{\bigg \}}=f\cap (X^{\prime }\times Y)}
顯然為一函數，稱為 {\displaystyle f} 在 {\displaystyle X^{\prime }} 的**限制**。

反之，若 {\displaystyle g:X\to Z} 、 {\displaystyle X\subseteq Y} 、 {\displaystyle f:Y\to Z} 且 {\displaystyle f|\_{X}=g}，那 {\displaystyle f} 稱為 {\displaystyle g} 的**擴張**。

点态运算
----

設 {\displaystyle f:X\to R} 且 {\displaystyle g:X\to R} 且 {\displaystyle (R,\,+,\,\times )} 為環。這樣可以定義＂函數和＂ {\displaystyle f+g} 與＂函數積＂ {\displaystyle f\times g} 如下：

{\displaystyle {\begin{aligned}f+g:={\bigg \{}\,(x,\,y)\,{\bigg |}\,(x\in X)\wedge [\,y=f(x)+g(x)\,]\,{\bigg \}}\\\end{aligned}}}
{\displaystyle {\begin{aligned}f+g:={\bigg \{}\,(x,\,y)\,{\bigg |}\,(x\in X)\wedge [\,y=f(x)\times g(x)\,]\,{\bigg \}}\\\end{aligned}}}
很容易證明以上兩者也是函數，類似的對任意的 {\displaystyle r\in R} 可以定義下面這兩個集合

{\displaystyle {\begin{aligned}r\_{R}:={\bigg \{}\,(x,\,y)\,{\bigg |}\,(x\in X)\wedge (y=r)\,{\bigg \}}\\\end{aligned}}}
{\displaystyle {\begin{aligned}r\cdot f:={\bigg \{}\,(x,\,y)\,{\bigg |}\,(x\in X)\wedge [\,y=r\times f(x)\,]\,{\bigg \}}\\\end{aligned}}}
也是函數，其中 {\displaystyle r\_{R}} 被稱為**常數函數**。

函数範例
----

参见：函数列表
* 首都之於国家（若不把多首都国计算在内)。
* 每个自然数{\displaystyle n}的平方{\displaystyle n^{2}}是{\displaystyle n}的函數。
* 對數函數。{\displaystyle \ln x}是正实数{\displaystyle x}的函數。注意，雖然可以把對數函數推廣到複數情況，但結果就不是函數了，而是多值函數。
* 對每个在{\displaystyle \mathbb {R} ^{2}}平面上的点，其和原点{\displaystyle (0,0)}的距离是確定的。

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

函數的分類
-----

函數可分為

* 奇函數或偶函數
* 連續函數或不連續函數
* 實函數或虛函數
* 純量函數或向量函數
* 单调增函数或单调减函数

范畴論觀點下的函数
---------

参见：范畴论和态射
在范畴论中，函数的槪念被推廣為態射的槪念。

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

註釋
--

1. ↑ . geography.about.com.  [2004-04-05]. （原始内容存档于2005-12-22）.

參考文獻
----

* Lawrence S. Husch.. 田納西大學. 2001年.
* Bartle, Robert.  2nd. Wiley. 1976. ISBN 978-0-471-05465-8. OCLC 465115030.
* Bloch, Ethan D.. Springer. 2011. ISBN 978-1-4419-7126-5.
* Cunningham, Daniel W.. Cambridge University Press. 2016. ISBN 978-1-107-12032-7.
* Gödel, Kurt.. Princeton University Press. 1940. ISBN 978-0-691-07927-1.
* Jech, Thomas.  3rd. Springer-Verlag. 2003. ISBN 978-3-540-44085-7.
* Spivak, Michael.  4th. Publish or Perish. 2008. ISBN 978-0-914098-91-1.

1. 1 2  Halmos, Paul R.. Springer-Verlag. 1970. ISBN 978-0-387-90092-6.
2. ↑  Halmos 1970，第30頁; the words *map*, *mapping*, *transformation*, *correspondence*, and *operator* are often used synonymously.
3. ↑  Halmos 1970
4. ↑  Hazewinkel, Michiel (编), , Springer, 2001, ISBN 978-1-55608-010-4
5. ↑  Hazewinkel, Michiel (编), , Springer, 2001, ISBN 978-1-55608-010-4
6. ↑  Taalman, Laura; Kohn, Peter.. New York City: W. H. Freeman and Company. 2014. ISBN 978-1-4292-4186-1. LCCN 2012947365. OCLC 856545590. OL 27544563M （英语）.
7. ↑  Trench, William F.  2.04th. Pearson Education (originally; self-republished by the author). 2013  [2023-12-08]. ISBN 0-13-045786-8. LCCN 2002032369. OCLC 953799815. Zbl 1204.00023. （原始内容存档于2023-11-23） （英语）.
8. ↑  Thomson, Brian S.; Bruckner, Judith B.; Bruckner, Andrew M.  (PDF) 2nd. Prentice Hall (originally; 2nd ed. self-republished by the authors). 2008  [2023-12-08]. ISBN 978-1-4348-4367-8. OCLC 1105855173. OL 31844948M. Zbl 0872.26001. （原始内容存档 (PDF)于2023-05-26） （英语）.
9. ↑  Larson, Ron; Edwards, Bruce H.. Cengage Learning. 2010: 19. ISBN 978-0-538-73552-0.
10. ↑  曹, 亮吉.. 科學月科社. 1988: 270–270, 277–277.

延伸閱讀
----

* Anton, Howard. 需要免费注册. Wiley. 1980. ISBN 978-0-471-03248-9.  含有內容需登入查看的頁面 (link)
* Bartle, Robert G.  2nd. Wiley. 1976. ISBN 978-0-471-05464-1.
* Dubinsky, Ed; Harel, Guershon.. Mathematical Association of America. 1992. ISBN 978-0-88385-081-7.
* Hammack, Richard.  (PDF).. Virginia Commonwealth University. 2009  [2012-08-01].
* Husch, Lawrence S.. University of Tennessee. 2001  [2007-09-27].
* Katz, Robert.. D. C. Heath and Company. 1964.
* Kleiner, Israel.. The College Mathematics Journal. 1989, **20** (4): 282–300. CiteSeerX 10.1.1.113.6352 可免费查阅. JSTOR 2686848. doi:10.2307/2686848.
* Lützen, Jesper.. Porter, Roy (编).. Cambridge University Press. 2003. ISBN 978-0-521-57199-9.  An approachable and diverting historical presentation.
* Malik, M. A.. International Journal of Mathematical Education in Science and Technology. 1980, **11** (4): 489–492. doi:10.1080/0020739800110404.
* Reichenbach, Hans.. Dover. 1947. ISBN 0-486-24004-5.
* Ruthing, D.. Mathematical Intelligencer. 1984, **6** (4): 71–78. S2CID 189883712. doi:10.1007/BF03026743.
* Thomas, George B.; Finney, Ross L. 需要免费注册 9th. Addison-Wesley. 1995. ISBN 978-0-201-53174-9.  含有內容需登入查看的頁面 (link)

外部链接
----

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

|  |  |  |
| --- | --- | --- |
| 

|  |  |
| --- | --- |
| 规范控制 編輯維基數據鏈接 | 
* AAT: 300055662
* BNF: cb11946892t (data)
* GND: 4071510-3
* J9U: 987007553160705171
* LCCN: sh85052327
* NDL: 00564960
* NKC: ph114594

 |

 |