查看“函数”的源代码
←
函数
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{NoteTA |G1 = Math |1 = zh-cn:程序; zh-tw:程式; }} {{About|数学中的函数|程序设计中的函数|子程序}} [[File:Function machine2.svg|缩略图|右|函数<math>f()</math>就像機器或[[黑箱]],给予输入值<math>x</math>便產生唯一输出值<math>f(x)</math>。]] '''函数'''在[[数学]]中为两不为空集的[[集合]]间的一种对应关系:输入值集合中的每项元素皆能对应'''唯一'''一项输出值集合中的元素。例如[[实数]]<math>x</math>对应到其[[平方]]<math>x^2</math>的关系就是一个函数,若以<math>3</math>作为此函数的输入值,所得的输出值便是<math>9</math>。 为方便起见,一般做法是以符号<math>f,g,h</math>等等来指代一个函数。若函数<math>f</math>以<math>x</math>作为输入值,则其输出值一般写作<math>f(x)</math>,读作'''f of x' ''。上述的平方函数关系写成数学式记为<math>f(x)=x^2</math>。函数的概念并不局限于数之间的映射关系,例如若定义函数<math>\operatorname{Capital}()</math>为每个国家当前的首都,那么给予输入值[[西班牙]]就会输出唯一值[[马德里]]:<math>\operatorname{Capital}(\mathrm{Spain}) = \mathrm{Madrid}</math>。 [[气温]]的分布也能用函数表达,以时间和地点作为参量输入,以该时该地的温度作为输出。表达函数有多种方式,例如解析法是用数学式表达两个变量之间的对应关系,图像法是用[[坐标系]]上的[[函數圖形]]表达两个变量之间的对应关系,列表法用表格表达两个变量之间的对应关系。 現代數學中<ref name=MacLane>{{cite book |last = MacLane |first = Saunders |authorlink = Saunders MacLane |last2 = Birkhoff |first2 = Garrett |author2-link = Garrett Birkhoff |title = Algebra |publisher = Macmillan |edition = First |year = 1967 |location = New York |pages = 1–13 }}</ref>,函数所有输入值的[[集合]]被称作該函数的'''[[定义域]]''',而其輸出值所存在的集合稱為'''[[對應域]]'''。其中'''[[值域]]'''特指該函數的输出值集合,意即上域包含了值域,值域為上域的[[子集]]。通常輸入值稱作函數的'''參數'''或'''參量''',輸出值稱作函數的'''值'''。函數將有效的輸入值變換為唯一的輸出值,同一輸入總是對應同一輸出,但反之未必成立。因此如<math>\mathrm{Root}(x)=\pm\sqrt x</math>這樣的表達式並沒有定義出一个函数,因为输出值有兩個可能。定義函數時需確定每一个输入值只对应唯一输出值,因此必须明确地选择一个平方根。例如定义<math>\mathrm{Posroot}(x)=\sqrt x</math>,亦即对于任何非负输入值,选择其非负平方根作为函数值。 函數可以看作機器或[[黑箱]],通常最常見的函數的參數和函數值都是數字,其對應關係用函數式表示,函數值可以通過直接將參數值代入函數式得到。<math>f(x)=x^2</math>,<math>x</math>的平方即是函數值。也可以將函數很簡單的推廣到與多個參量相關的情況。例如<math>g(x,y) = xy</math>有兩個參量<math>x</math>和<math>y</math>,以乘積<math>xy</math>為值。將這兩個輸入看作一個[[有序對]]<math>(x,y)</math>。<math>g</math>即為以這個有序對<math>(x,y)</math>作參數的函數,而函數值是<math>xy</math>。函數能被抽象定義為某種[[數學關係]],由於其定義的一般性,在幾乎所有的數學分支都是基礎概念。一些領域中比如在[[λ演算]]中,函数可以是作為一個原始概念而不像在[[集合論]]般有所定义。在大部分的数学领域内,术语[[对应]]、[[映射]]、[[变换]]通常是函数的近义词。不過某些情況這些術語可能有別的特定意思,例如在[[拓扑學]]中一个映射有时被定义成一个[[连续函数]]。 ==定義== [[File:cubicpoly.svg|缩略图|225px|函数''f''的部分图像。每个实数的''x''都与''f''(''x'') = ''x''<sup>3</sup> − 9''x''相联系。]] 从输入值集合<math>X</math>到可能的输出值集合<math>Y</math>的函数<math>f</math>(记作<math>f: X \to Y</math>)是<math>X</math>与<math>Y</math>的[[二元关系|关系]],满足如下条件: # <math>f</math>是'''完全'''的:对集合<math>X</math>中任一元素<math>x</math>都有集合<math>Y</math>中的元素<math>y</math>满足<math>x f y</math>(<math>x</math>与<math>y</math>是<math>f</math>相关的)。即,对每一个输入值,<math>y</math>中都有与之对应的输出值。 # <math>f</math>是'''多对一'''的:若<math>f(x)=y</math>且<math>f(x)=z</math>,则<math>y=z</math>。即,多个输入可以映射到一个输出,但一个输入不能映射到多个输出。 定义域中任一<math>x</math>在到達域中唯一对应的<math>y</math>记为<math>f(x)</math>。 比上面定义更简明的表述如下:从<math>X</math>映射到<math>Y</math>的函数<math>f</math>是<math>X</math>与<math>Y</math>的[[直积]]<math>X \times Y</math>的[[子集]]。<math>X</math>中任一<math>x</math>都与<math>Y</math>中的<math>y</math>唯一对应,且[[有序对]]<math>(x,y)</math>属于<math>f</math>。 <math>X</math>与<math>Y</math>的关系若满足条件(1),则为'''[[多值函数]]'''。函数都是多值函数,但多值函数不都是函数。<math>X</math>与<math>Y</math>的关系若满足条件(2),则为'''偏函数'''。函数都是偏函数,但偏函数不都是函数。除非特别指明,本條目中的“函数”总是指同时满足以上两个条件的关系。 考虑如下例子: {{多圖 |align = center |width = 600px |image1 = Multivalued function.svg |caption1 = (1)一對多。''X''中的元素3与''Y''中的两个元素''b''和''c''相关。因此这是'''多值函数''',而不是函数。 |image2 = Partial function.svg |caption2 = (2)一對一但非完全對應。''X''的元素1未与''Y''的任一元素相关。因此这是'''偏函数''',而''不是''函数。 |image3 = Total function.svg |caption3 = (3)完全對應且多对一,因此这是从''X''到''Y''的函数。此函数可以表示为{{math|''f'' {{=}}{(1, ''d''), (2, ''d''), (3, ''c'')<nowiki>}</nowiki>}},或<math>f(x)=\left\{\begin{matrix} d, & \mbox{if }x=1 \\ d, & \mbox{if }x=2 \\ c, & \mbox{if }x=3\end{matrix}\right.</math> }} == 历史 == 函数这个数学名词是[[莱布尼兹]]在1694年开始使用的,用來描述跟[[曲线]]相关的一個量,如曲线的[[斜率]]或者曲线上的某一点。莱布尼兹所指的函数现在被称作[[导数|可导函数]],数学家之外的普通人一般接触到的函数即属此类。对于可导函数可以讨论它的[[函数极限|极限]]和[[导数]],此两者描述了函数输出值的变化同输入值变化的关系,是[[微积分学]]的基础。中文的“'''函数'''”一词由[[清朝]]数学家[[李善兰]]译出。其《代数学》书中解释:“凡此變數中函(包含)彼變數者,則此為彼之函數”。 * 1718年,[[約翰·伯努利]]把函数定义为“一个变量的函数是指由这个变量和常量以任何一种方式组成的一种量。” * 1748年,伯努利的学生[[欧拉]]在《无穷分析引论》一书中说:“一个[[变量]]的函数是由该变量和一些数或[[常量]]以任何一种方式构成的[[解析解|解析表达式]]”,例如<math>f(x)=\sin(x)+x^3</math>。 * 1775年,欧拉在《微分学原理》一书中又提出了函数的一个定义:“如果某些量以如下方式依赖于另一些量,即当后者变化时,前者本身也发生变化,则称前一些量是后一些量的函数。” * 19世纪的数学家开始对数学的各个分支進行形式化。[[维尔斯特拉斯]]倡議将微积分学建立在[[算术]],而不是[[几何]]的基础上,這種主張較趋向于欧拉的定义。 * 函数的定义得以擴展之後,数学家便能对一些“奇怪”的数学对象进行研究,例如處處不可导的连续函数。这些函数曾经被认为只具有理论价值,迟至20世纪初时它们仍被视作“怪物”。稍后,人们发现这些函数在对如[[布朗运动]]之类的物理现象进行建模时有重要的作用。 * 到19世纪末,数学家开始尝试利用[[集合论]]来進行数学的形式化。他们试图将每一個数学对象都定义为[[集合]]。[[狄利克雷]]给出了现代正式的函数定义(参见下文[[#正式定义]])。在他的定義下,函数被视作[[数学关系]]的特例。然而对于实际应用的情况,现代定义和欧拉定义的区别可以忽略不计。 ==表示方法== * 描述法 * 表格 * 公式法 * 图形 ==函数的判别== 除了利用函数的定义之外,还可以利用'''竖直判别法''',即函数的图形与任何一条平行于 y 轴的直线不能有一个以上的交点。 == 单射、满射与双射函数 == * [[单射]]函数,将不同的輸入值映射到不同的函數值。即:若<math>x</math>和<math>y</math>属于定义域,则仅当<math>x = y</math>时有<math>f(x)= f(y)</math>。 * [[满射]]函数,其值域即为其到達域。即:对於映射<math>f</math>的到達域中之任意<math>y</math>,都存在至少一个<math>x</math>满足<math>f(x)= y</math>。 * [[双射]]函数,既是单射的又是满射的函數。也叫[[一一对应]]、對射。双射函数经常被用于表明集合<math>X</math>和<math>Y</math>是等[[势]]的,即有一样的[[基数 (数学)|基数]]。如果在两个[[集合 (数学)|集合]]之间可以建立一个[[一一对应]],则说这两个集合等势。 == 定义域与值域、陪域 == *定义域:原像集,自变量的取值集合。 *值域:像集,因变量的取值集合。 *陪域:值域所属的全集。 == 像和原像 == 元素<math>x\in X</math>在<math>f</math>之下的'''[[像 (數學)|像]]'''就是<math>f(x)</math>。 子集<math>A\subset X</math>在<math>f</math>之下的像,是以<math>A</math>的元素的像所組成的集合,為<math>Y</math>的一個子集,即 :<math>f(A) := \{f(x) : x \in A\}</math>。 注意<math>f</math>的值域就是定義域<math>X</math>的像<math>f(X)</math>。在[[#正式定义]]一節的最後例子中,<math>\{2,3\}</math>在<math>f</math>的像是<math>f(\{2, 3\}=\{c, d\}</math>,而<math>f</math>的值域是<math>\{c, d\}</math>。 根據此定義,<math>f</math>可引申成為由<math>X</math>的[[幂集]](由<math>X</math>的子集組成的集)到<math>Y</math>的幂集之函數,亦記作<math>f</math>。 子集<math>B \subset Y</math>在<math>f</math>的'''原像'''(或''逆像'')是如下定義的<math>X</math>的子集: :<math>f^{-1}(B):=\{x \in X : f(x)\in B\}</math>。 沿用同一例子,我們可以看到<math> \{a, b\} </math>的原像是<math>f^{-1}(\{a, b\}) = \varnothing</math>,即[[空集]]。 根據此定義,<math>f^{-1}(x)</math>是由<math>Y</math>的幂集到<math>X</math>的幂集之函數。 以下是<math>f</math>及<math>f^{-1}</math>的一些特性: * <math>f(A_{1} \cup A_{2}) = f(A_{1}) \cup f(A_{2})</math>; * <math>f(A_{1} \cap A_{2}) \subseteq f(A_{1}) \cap f(A_{2})</math>; * <math>f(B_{1} \cup B_{2}) = f^{-1}(B_{1}) \cup f^{-1}(B_{2})</math>; * <math>f^{-1}(B_{1} \cap B_{2}) = f^{-1}(B_{1}) \cap f^{-1}(B_{2})</math>; * <math>f^{-1}(f(B)) \subseteq B</math>; * <math>f^{-1}(f(A)) \supseteq A</math>。 這些特性適合定義域的任意子集<math>A, A_{1}</math>及<math>A_{2}</math>和到達域的任意[[子集]]<math>B, B_{1}</math>及<math>B_{2}</math>,甚至可推廣到任意子集群的[[交集]]和[[并集]]。 == 函数图形 == {{函數圖形|start=-6.28|=6.28|sampling=100|sin(x)|(1/16)*x^2|0}} {{main|函数图形}} <!-- 可視化方面 --> 函数<math>f</math>在平面上的图形是点对<math>(x,f(x))</math>的集合,其中<math>x</math>取遍[[定义域]]上的所有成员。函数图形可以帮助理解证明一些定理。 <!-- 具體定義 --> 注意函数图形可以有兩個定義:一是三元組<math>(X,Y,G)</math>,其中<math>X</math>是函數的定義域,<math>Y</math>是函數的到達域,<math>G</math>是[[二元關係|關係的圖]];二是索性以關係的圖定義。用第二個定義則函数<math>f</math>等於其图形。 == 函数範例 == {{seealso|函数列表}} * 首都之於国家(若不把多首都国[http://geography.about.com/library/misc/bl2capitals.htm] 计算在内)。 * 每个[[自然数]]<math>n</math>的平方<math>n^2</math>是<math>n</math>的函數。 * [[對數函數]]。<math>\ln x</math>是[[正数|正]][[实数]]<math>x</math>的函數。注意,雖然可以把對數函數推廣到複數情況,但結果就不是函數了,而是多值函數。 * 對每个在<math>\R^2</math>平面上的点,其和[[原点]]<math>(0, 0)</math>的距离是確定的。 常用的数学函数包括[[多项式函數]]、[[根式函數]]、[[冪函數]]、[[对数函數]]、[[有理函数]]、[[三角函数]]、[[反三角函數]]等。它们都是[[初等函数]]。非初等函数(或[[特殊函数]])包括[[伽马函數]]和[[贝塞尔函数]]等。 == 函數的特性 == 函數可分為 * [[奇函數]]或[[偶函數]] * [[連續函數]]或[[不連續函數]] * [[實函數]]或[[虛函數]] * [[純量函數]]或[[向量函數]] * [[单调增函数]]或[[单调减函数]] == 分段函数 == {{main|分段}} '''分段函数'''({{Lang-de|Abschnittsweise definierte Funktion}}),在定义域内不同部分上,有不同的解析表达式,这样的函数通常叫分段函数。 == 复合函数 == {{main|复合函数}} 函數<math>f: X \to Y</math>及<math>g: Y \to Z</math>的'''複合函數'''是 : <math>g\circ f: X \to Z :f(g\circ f)(x) = g(f(x))</math>。 舉例,飛機在<math>t</math>时刻的高度是<math>h(t)</math>,而高度<math>x</math>处的氧气浓度是<math>c(x)</math>,則在<math>t</math>时刻飛機周围的氧氣濃度是 <math>(c\circ h)(t)</math> 若<math>Y\subset X</math>則 <math>f</math>可自我複合;此時複合函數可記作<math>f^{ 2}</math>(不要與[[三角學]]的符號混淆)。'''函數的幂'''的定義是對[[自然數]]<math>n</math>有 :<math>f^{n+1} = f^{n} \circ f = f \circ f^{ n}</math> == 反函数 == {{函數圖形|start=0|end=2|min=0|max=4|sampling=100|height=200|width=200 |x^2*((sgn(x-1.35)-1)/(sgn(x-1.35)-1))|sqrt(x)|x |1 name=y=x²|2 name=y=√ x|3 name=y=x |caption=<math>y=x^2</math>與<math>y=\sqrt{x}</math>互為反函数,並且於鏡射於軸<math>y=x</math>上。 }} {{main|反函數}} 对一个函数{{math|''f'': ''X''→''Y''}},若值域{{math|''Y''}}中任何一个元素{{math|''y''}}的原象是唯一的,那么这个函数就被称为是[[双射]]的。对任意的{{math|''y''∈''Y''}}到它的原象{{math|{{fx|2={{minus}}1|1=''y''}}}}的映射,我们称之为{{math|''f''}}的反函数,记为{{math|''f''<sup>{{minus}}1</sup>}}。 举一个反函数的例子,比如{{math|{{fx}} {{=}} ''x''<sup>3</sup>}},它的反函数是{{math|{{fx|2={{minus}}1}} {{=}} {{radic|x|3|use math=yes}} }}。同样,{{math|2''x''}}的反函数是{{math|{{sfrac|''x''|2}}}}。反函数是一个函数,它能够“抵消”它的原函数,并具有和原函数相同的[[单调性]]。参见[[逆映射]]。 == 函數的限制及擴張 == 給出<math>Y</math>的子集<math>X</math>以及函數 :<math>f:Y\rightarrow Z</math>, 則 :<math>f|_X:X\rightarrow Z</math> :<math>f|_X(x)=f(x)</math> 稱為<math>f</math>在<math>X</math>的'''[[函數的限制|限制]]'''。 反之,若給出函數 :<math>g:X\to Z</math> 當一個定義在<math>Y</math>的函數<math>f:Y\to Z</math>有<math>f|_X=g</math>,<math>f</math>就是<math>g</math>的'''[[函數的擴張|擴張]]'''。 == 点态运算 == 設函數{{math|<var>f</var>: <var>X</var> → '''R'''}}及{{math|<var>g</var>: <var>X</var> → '''R'''}}有{{math|<var>X</var>}}為共同的定義域及[[環]]{{math|'''R'''}}為共同的到達域。我們可以定義“函數和”{{math|<var>f</var> + <var>g</var>: <var>X</var> → '''R'''}}及“函數積”{{math|<var>f</var>×<var>g</var>:<var>X</var> → '''R'''}}如下: :{{math|{{fx|3=(<var>f</var> + <var>g</var>)}} :{{=}} {{fx}} + {{fx|3=<var>g</var>}};}} :{{math|{{fx|3=<var>f</var>×<var>g</var>}} :{{=}} {{fx}}×{{fx|3=<var>g</var>}};}} 对于所有{{math|<var>X</var>}}中的{{math|<var>x</var>}}。 這樣子我們得出一個函數組成的環。這是一個抽象性擴張的例子,由此我們從較簡單的結構得出更複雜的。 若然用別的[[代數結構]]{{math|<var>A</var>}}代替{{math|'''R'''}},得出的由{{math|<var>X</var>}}到{{math|<var>A</var>}}的函數集會類似地擁有和{{math|<var>A</var>}}相同的代數結構。 == 歧義函數 == 歧義函數,也称[[多值函数]],指有輸出值多於一個的情況。例如,4的[[平方根]]可以是2或者-2,而兩者的[[平方]]皆是4。 嚴格來說,歧義函數不完全算是函數,因為數學函數的定義對於一個輸入值只能有唯一一個輸出值。實際上,這樣的「函數」通常被稱為[[關係式]]。[[复变函数]]理论采用[[黎曼面]]处理函数多值的困境。 == 一元函数 == 设 D 是[[实数|实数集]] R 中的非空子集,称[[映射]] f : D -> R 为定义在 D 上的'''一元函数'''。 == 多元函数 == 多元函数(''n''-元函數)是指輸入值為[[多元組|''n''-元組]]的函數。或者說,若一函數的輸入值域為''n''個集合的[[笛卡尔积]]的子集,這函數就是''n''-元函數。例如,距離函數''dist''((<var>x</var>,<var>y</var>))是一個二元函數,輸入值是由兩個點組成的序對。另外,[[多複變函數]](即輸入值為複數的多元組)是一個重要的數學課題。 在[[抽象代數]]中,[[運算元]]其實都是函數,如乘法"*"是個二元函數:當我們寫''x''*''y''時,其實是用上了*(''x'',''y'')的[[中綴表示法]]。 [[函數式程序设计]]是一個以函數概念為中心的重要理論範式,其中的运算对象为'''多元函数''',基本[[语法]]基于[[λ演算]],而函数的'''复合'''则采用[[代换]]来完成。特别地,通过一种称为[[柯里化]]的变换,可将多元函数变换为一元函数。 == 可计算和不可计算函数 == {{main|可计算函数}} 所有从整数到整数的[[可计算函数]]的个数是[[可數集|可数]]的,这是因为所有可能的算法个数是可数的。从整数到整数的函数个数要更多些-和[[实数]]个数一样多,也就是说是等[[势]]的。这说明有些从整数到整数的函数是不可计算的。关于不可计算函数,请参看[[停机问题]]和[[莱斯定理]],[[OEIS]]中有一個經典的例子:{{oeis|id=A102288}}。 == 范畴論觀點下的函数 == {{seealso|范畴论|态射}} 在[[范畴论]]中,函数的槪念被推廣為[[態射]]的槪念。 一個[[範疇 (數學)|范畴]]包括一組物件與一組態射,每一個態射是個三元组(''X'', ''Y'', ''f''),''X''稱為源物件(定義域的類比),''Y''稱為目標物件(到達域的類比),而源物件与目標物件是范畴內的物件。基于这种解释,可以把函数看作[[集合范畴]]裡面的態射。 == 參考文獻 == *[http://archives.math.utk.edu/visual.calculus/ Visual Calculus] by Lawrence S. Husch, [[田納西大學]](2001年) {{reflist}} == 外部链接 == * [http://dlmf.nist.gov/ NIST數學函數] * [https://web.archive.org/web/20080923201632/http://www.mysuc.com/?tag=%E5%87%BD%E6%95%B0 mysuc.com],经典函数示例 * [http://functions.wolfram.com/ Wolfram函数网站],汇集了各数学函数的公式和图像 * [https://de.serlo.org/mathe/funktionen/funktionsbegriff/funktionen-relationen-ist-funktion Was ist eine Funktion?] * [http://math.hws.edu/xFunctions/ xFunctions]一个多功能的Java小程序,可以显示函数的图像,既可以在线使用,也可以下载运行。 * [http://fooplot.com/ FooPlot] * [http://curvas21.blogspot.com/ Curvas] {{Authority control}} [[Category:集合論基本概念|H]] [[Category:函数|*]] [[Category:初等数学|H]] [[Category:数学关系|H]]
本页使用的模板:
Template:About
(
查看源代码
)
Template:Authority control
(
查看源代码
)
Template:Cite book
(
查看源代码
)
Template:Lang-de
(
查看源代码
)
Template:Main
(
查看源代码
)
Template:Math
(
查看源代码
)
Template:NoteTA
(
查看源代码
)
Template:Oeis
(
查看源代码
)
Template:Reflist
(
查看源代码
)
Template:Seealso
(
查看源代码
)
Template:函數圖形
(
查看源代码
)
Template:多圖
(
查看源代码
)
返回
函数
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息