这篇回答我写了很长的时间,旨在从我一个非数学系的学生角度一步一个脚印地来探索函数这座大山。写作的最开始是充满回忆的,想起以前青涩的时光——初中第一次随着老师接触函数概念时的激动,高中从最开始被各类f(x)搞得头皮发麻到高三复习时终于弄得相对清晰,再到大学接触了微积分以后见识了更复杂更广阔的函数理论。
写作到后半段是比较棘手的,翻阅各种资料,生怕自己的描述太过于主观或者有误导性——比如最开始是写了重积分理论的后来觉得写的乱七八糟又删掉了。又因为自己的数学基础不够,在写一些比较高端的概念时谨言慎行——比如写泛函和广义函数、特殊函数等等。
所幸这个回答的反响特别好,一天不到的时间就突破了200赞,还有知友甚至给了我打赏,作为一个学生党真的有点受宠若惊。更让我欣喜地是居然引来了数学优秀回答者的大牛作出了他的专业性见解,并有人修改了原本题主有些凌乱的标题和问题描述。真正意义上达到了“抛砖引玉”的效果。
以下是原回答,在写作的时候难免因为各种原因会出现一些细节错误。欢迎各位知友的指正,如果觉得对你有帮助请不要吝惜自己的赞,谢谢各位。
2020.8.18更新:最近写了一个关于“函数”本身概念理解的回答,欢迎阅读
初中阶段应该是最开始接触函数概念的时期。那时候的主要目标是认识平面直角坐标系,而函数的概念是基于自变量、因变量描述下的笼统定义。具体学习的函数是类似于正比例、反比例、一次、二次函数。其实从现在的观点来看都是幂函数进行简单的加减法运算(即多项式),并且幂次也只讨论了-1,0,1,2这样的幂次。最多对函数进行的变换也就是引入一些未知的参数或者引入分段函数进行讨论而已。
对于三角函数并没有作函数性质的探讨,仅仅用作平面几何当中边角运算的工具。而且即便是作为几何分析工具,在初中数学由于缺少了任意角三角函数、诱导公式、三角恒等变换和正余弦定理,导致在平面几何分析时也处处受限,自由度没有高中时候那么高。
在随后的中考数学中,更多的是做一些解析几何分析、参变量分析以及平面几何分析的套路,对于函数概念的本身并没有进行展开。
在高中阶段,提出了映射的概念,建立了函数的严格定义 。提出了复合函数 与反函数 的映射运算。使得函数概念自由度瞬间爆炸,这也是高中数学的难点。当通过映射关系来定义时,函数可以不出现具体的表达式,即所谓抽象函数。并且还出现了很多衍生的概念,例如:
表示沿x轴向左平移1, 表示沿y轴对称, 表示沿着x轴压缩2倍。
表示沿着-x方向的图像被+x的对称图像覆盖。
偶函数(y轴对称): ,奇函数(原点对称):
衍生为: ,则对称轴为 .
,则对称中心为 .
之前对称中心计算有误,感谢评论区:@Ricardo的指正
除此以外还有原函数和反函数关于 对称等等。
当然在大学阶段看来周期函数是很重要的,与其严格相关的理论就是Fourier分析。
单调增:若 ,则
对于两个函数点的分析在高中导数题当中有极值点偏移这类题型。在微积分中诸如一致连续的定义、Lagrange中值定理等也会涉及。
在严格对函数概念进行定义之后,就是进一步介绍函数的各种具体的表达式,即建立了基本初等函数——“反、对、幂、三、指、常”六大函数:
研究了它们的代数运算特性以及图像特性(当然,目前的高中教材删去了反三角也同时删去了反映射,但它们曾经存在过且依然是体系的一部分)。
基本初等函数经过有限次的运算称为初等函数。这一点又是函数的自由度爆炸点。将这六类函数任意地组合,运算,有了无穷多的可能性。比较有代表性的例子有——多项式函数【或称为N次函数,包含了初中时研究的一次、二次函数】;两个多项式函数相比,形成的分式函数【在高中时研究了诸如双钩函数 之类】等等。
高中阶段建立起的映射函数体系是目前数学中应用得最广泛的函数概念。事实上,即使在大学数学中,一元微积分中研究的函数与高中阶段建立的函数依然完全一致。同时,计算机语言中的函数只不过把“映射”这一抽象过程转化成了数据传参的过程。
大学在高中基础上又引入了微积分和线性代数理论。二者对函数世界又作出了极大的拓展。在高中阶段可能已经粗略接触相关概念,比如:
函数的导数 或写作 ;函数的定积分 。
数列 ,向量 ,如果是江苏卷还涉及了矩阵概念等等。
这里为了语言更加通俗易懂,尽量避免一些较晦涩数学语言的出现。在以上知识的基础上简要地介绍一下大学数学中会出现的一些函数概念。
对于多元函数的概念是很容易理解的,即在原来的函数基础上将变量的数目增加。以二元函数为例,就是把原来的一维点到一维点的映射,转化为二维点到一维点的映射。
例如:
相应的图像为:
从图像中我们可以看到,这一个三维曲面。在x-y平面(底面)上的每一个二维点都可以画一条竖线对应一个z函数值。
当变量的个数再次增加,变为三维点到一维点的映射,就没有办法直接用一个几何图形来描绘了。所以,当我们想要可视化这样的函数时,可以用其它的数据来表述,比如颜色。
例如:
对于这个三元函数而言,它的定义域形成的空间应该为一个立方体。这时可以给立方体涂色,然后用颜色的深浅来表征函数值,如下图:
当然,目前能连续可视化的函数最多也就做到三元(四维)。如果维数更多,则只考虑它们的代数性质而不会研究它们的图像了。
话题有点扯远了,我们再回到多元函数的研究上来。对于多元函数无法直接定义导数,因为有多个自变量的变化同时影响因变量。所以采用了“切片降维”的思想,定义了偏导数。还是以二元函数为例,相应的偏导值直接在求导的基础上把另一个变量视作常数:
其几何意义即曲面在x截平面和y截平面上的切线斜率。
当然,我们还可以利用坐标合成的思想,引入方向导数:
,其中:
将它改为向量点乘的形式,引入梯度:
其中 为两个向量之间的夹角。当夹角为0°时,方向导数取得最大值,也就是梯度向量的模值。所以梯度也可以反应为方向导数变化最快的向量,梯度也被视作多元函数的导数。
对于多元函数的积分,首先和偏导数类似,可以定义偏积分,即:
其计算和偏导数类似,将不积分的变量视作常数。注意到此时积分以后的结果依然为一个函数而非一个常数,所以这种积分也被称为含参变量的积分。
同理利用坐标合成的思想,引入第一类曲线积分 :
,其中: ,亦称作弧微分。它相当于x方向的微元和y方向微元经过勾股定理的合成:
在之前的定积分 中的 为一维约束。
此时的L为一个二维约束,它可以是任意的二维弧线,例如: 。
另外当L是圆: 或椭圆: 等封闭曲线时,那么此时会在符号上改为 以表征这种类型积分的特殊性。
多元函数说到底还是多维点到一维点的映射,即: 。
如果说这时引入向量 ,则可以将上式简洁地写为:。
注意,此时的函数输入值为向量,输出值为标量。
在物理问题中这种类型的函数是很常见的,因为我们经常会定义 这样的三维位置矢量。所以当某个为标量的物理量,如浓度、温度、电势等在某个三维物体上非均匀分布时,就常常会用这样的函数描述: 。
再复杂一点,我们还可以建立多维点到多维点的映射族,也就是熟悉的参数方程:
此时引入, 。
那么最终的表达式为: 。
我第一次接触这样的向量函数时不得不感叹符号语言的内涵——仅仅将原来的表达式每一个字母加粗,内在的含义就比原来复杂了不知道多少倍。
注意,此时的函数输入值为向量,输出值为向量。
在物理问题中这种类型的函数也比较常见,如速度、电场强度、磁感应强度等在某个三维物体上非均匀分布时,就常常会用这样的函数描述: 。
在如流体力学、电动力学之类的学科中会经常运用到上面建立的两种向量函数,它们被称为场函数。前者被称为标量场、后者被称为矢量场。以场函数为核心的数学物理理论称为场论。
对于标量场函数 ,它的导数值直接取前文提到的梯度: 。
对于矢量场函数 ,它的导数则比较复杂,可以直接取矩阵形式,即Jacobi矩阵,这里不作赘述。此处介绍两种在场论中用的较多的形式,即散度和旋度。
考虑梯度的定义:
视: 为一个算符向量,亦称其为Nabla算符/Hamilton算符。
向量之间可以作点乘与叉乘,则定义 为散度, 为旋度。这里为了不增加叙述的晦涩程度就不介绍它们的具体表达式了。
注:不了解向量叉乘的可以看看向量叉乘的线性性质与几何解释
关于梯度、散度、旋度的直观意义,3BLUE1BROWN做过一些比较好的可视化视频:
梯度下降法概述,散度和旋度概述
接下来谈谈积分。对于标量场函数来说它的积分和多元函数没有任何区别,而矢量场函数有着属于它的积分。它的核心思想是建立一个矢量微元:
,其中 和 表示x轴和y轴方向的单位矢量。
这个矢量微元的模值刚好是前面的弧微分: 。
积分时原来的乘法则变为点乘: ,由此建立了第二类曲线积分。L依然和之前一样是一个二维的线段约束,封闭线段也应该把积分符号变为 。
若A看成物体受力,r为位置矢量,则该积分的物理意义为变力沿曲线做功。
这种积分还有一种常见的写法,首先将因变量写成坐标形式:
,
然后进行点乘运算:
若自变量向量为二维,也可以写成:,此写法也为大多数的高等数学/数学分析教材中的写法。
关于复数理论已经有很多大牛科普过了,如:
这里值得一提的是,复数又称为二元数,起到了“一个顶俩”的作用【想到了最近成语接龙的梗2333】。它可以利用定义做实虚分解,即: 。
也可以利用Euler公式做幅相分解,即: 。
仅仅从数据特征来看,实虚分解相当于实数的直角坐标点,幅相分解相当于实数的极坐标点。
以复数为变量建立的映射,则称为复变函数。形式为 。
如果把复数拆开,你也可以理解为二维实数到二维实数的映射,即:
相当于一个坐标平面到了另一个坐标平面。所以复变函数有时候也常常用来表示坐标变换。
如图:函数为 就表示把角度扩大两倍。
复变函数的导数可以直接定义 。但由于变量的二元特性,自变量的范围可以有很多种,在复平面内它可以在一个点上、一条线上和一个区域内可导。
其中在一个区域内可导又称为解析,用更严谨一点的语言来说,应该是不仅在该点可导,且在该点的邻域内(即以该点为圆心做一个任意小的圆)可导。
解析函数是复变函数理论中研究的重点,因为它具有很多很良好的性质,但同时它的要求又比较严格,例如它的实部和虚部必须满足Laplace方程,即:
其中 为Laplace算符,其中 ,表示梯度的散度。
处处解析的函数又称为整函数,有限远处解析的函数又称为半纯函数,对它们的研究这里不作展开,详见参考书目。
要判定函数可导,需要满足Cauchy-Riemann条件: ,也可以说成是解析的必要条件,不充分则是因为可能是在某点或者某条线上可导。
复变函数导数值具有很特别的几何意义,它的模值代表了图像的伸缩率,辐角代表了图像的旋转角。
最经典的就是共形映射理论,它介绍了一种除矩阵以外操纵平面变换的方法,能更好地反映复变函数作为坐标变换的本质特征。
【注:关于矩阵操纵平面变换见:线性代数的本质 - 03 - 矩阵与线性变换】
复变函数的积分也因为复数的二元特性,它的约束显然是二维的,所以都是线积分的形式: 。当然,对于解析函数而言,它的环路积分为0:
对于某些不解析的点,称为奇点。对于有奇点函数的积分有一个著名的留数定理,即:
其中 为函数的奇点,Res为留数Residue的英文缩写。上式表明,对于有奇点函数的环路积分,其值为函数在i个奇点的留数之和乘上2πi。
复变函数比起实变函数(即前文提到的以实数为变量的函数)还有个不同在于它的多值特性。在实变函数中的映射只能一对一或多对一。但复变函数可以容纳一些特殊的一对多的情况。
下面介绍两个最经典的多值函数:
时,则会出现 和 两个值。
2. 对数函数:
时,则会出现 无穷多个值。
我们可以用支割线和黎曼面的方法来研究多值函数每个单值分支的变化情况,此处不再赘述。
在前文中提及的函数体系,是对初等函数变量的类型、个数、维度做了拓展。以下提及的函数已经完全脱离了初等的范畴,依赖于某些微积分的表达式来定义。
在前文中已经提及含参变量积分。
最经典的利用含参积分定义的函数,即 Gamma函数:
这里s可以是复数。
知乎上也有很多人讨论这个函数,例如伽马函数杂谈,Beta 函数和 Gamma 函数有什么用?
这个函数的用途比较广泛,比如可以表示阶乘 ,当然还有很多性质,
与之紧密相关的的是Beta函数:
还有Psi函数:
对于这个函数,有: ,被称为Euler常数。它的定义是调和级数与对数值相减得来,详见:Euler-Mascheroni Constant
Gamma函数中, 。我们在这个区间插入变量z,称为不完全Gamma函数,即:
显然,根据积分上下限的可加性: 。
不完全Gamma函数可以用来表示一些经典的积分函数:
指数积分:
对数积分:
正弦积分:
误差函数:
在信号分析/量子力学中常出现一种特别的函数称为Dirac冲激函数,或者更通俗的说法叫做理想脉冲。在实际中的脉冲一般是一段很窄的门函数,即:
其图像为:
当门的宽度趋向于0时,即 ,有:
这个无穷大的意义应当建立在积分运算: 上,可以视作冲激函数“选出”了函数在x=0的值,如图:
故又称为该函数的“筛选特性”。
特别地,当 时有: 。
常常图示为:
与之紧密相关的时Heaviside阶跃函数,定义为: 。
其图像为:
这个函数本身为一个分段函数,在x=0处有一个跳跃间断点,所以这个函数可以理解为跳跃间断点的简化表示,例如我有这样的一个分段函数:
它可以用阶跃函数表示为:
阶跃函数和冲激函数互为导数关系,即: ,我们可以从阶跃函数的图像中看到,在x=0点处由0跳变到了1;这意味着,冲激函数的幅度(积分值)就是间断点函数值的跳变幅度。
此外,还可以让原本存在间断而不可导的函数可以用冲激函数来表示,例如上文中的f(t)。
冲激函数拥有广泛的应用
在信号分析中,如果输入信号为冲激信号,它的输出信号被称为单位响应,这是因为它在信号的变换域【即Fourier、Laplace、Z】所对应的值都为1。
在量子力学中,考虑粒子运动时会受到势能的作用,常常用 这样的标量场函数来描述粒子的势能变化,称为势场,而与势场紧密相关的方程为薛定谔方程,常常通过解不同势场中的方程来确定粒子的运动状态。如果势能值集中于一点且相当大,我们也可以用冲激函数来描述,称为δ势垒。
在研究本征函数的归一化问题时【关于本征函数的概念详见后文】,若积分值为无穷大,常常也用冲激函数来归一[5]。
了解了冲激函数的定义以后,我们可以发现它和我们之前遇到的函数定义并不相同。因为之前的函数建立的映射是点对点的映射。而冲激函数如果不依赖于函数f(x)的积分值,则它的定义【指t=0处的无穷大】将是毫无意义的,其本质上是通过一种间接的方式进行——以另一个函数f(x)作为跳板。
很显然,如果f(x)发生变化,那么冲激函数应该会跟着变化。我们把类似于这样的关系称为“函数的函数”,即泛函(functional),冲激函数隶属于泛函分析中的广义函数。
这里举一个例子来理解一下泛函的概念,假设我们知道了函数表达式y(x)【这种常用的函数写法省略了映射f,即仅仅写出因变量和自变量】,那么我们可以利用之前提到过的线积分来求出函数曲线的长度,考虑: , 有:
,其中二维曲线C中
很显然,曲线的长度与整个函数y(x)有关系,那么完全符合泛函的概念,用数学符号可以抽象为:
另一个比较经典的例子就是最速降线问题中的时间变量:
详见:zdr0:什么是最速降线?它又有何奇妙的性质呢?
注:对泛函的研究目前一方面是在变分法(泛函极值转化为微分方程),另一方面是泛函分析(无限维函数空间)
数列的和 可以用大型运算符Σ表示:
当我们取上限为无穷时,称为无穷级数(简称级数):
无穷级数的定义说明了“无限项求和不一定为无穷大”,比较经典的理论为芝诺悖论,详见:如何理解「芝诺悖论」?
我们可以把数列换成函数列,则称为函数项级数: ,即利用无限个函数相加的形式构造了一个新的函数。利用级数构造的函数常常用来实现函数的逼近。其中以下介绍两个经典的级数逼近。
最早的函数近似是“线性近似”,考虑用一次函数来近似代替原函数等,即所谓的“以直代曲”。
根据直线的点斜式,不妨考虑 。
要让这样近似的精度比较高,需要让 取得极小,进而催生了微分和导数。其催生的来龙去脉在参考书目中有比较详细的解释,简单来说就是我们确定了
于是这个近似也变成了: ,
这里的 为高阶无穷小的记号,简单来说就是可以忽略的误差。举个例子,假设等式左边的值为1573,右端为1573.02。那么这里的 就可以视作0.02。
Taylor提出了用次数无限大的多项式来代替线性近似的做法,即:
当n=1时即为前面的线性近似。这里多项式的系数从一阶导数变成了高阶导数/阶乘的形式。这里n若为无限项,它的误差应为0【理想状态】,若为有限项(n=k),它的误差应为 ,相对原来的误差提高了很多【可以简单理解为误差由0.02变为0.02的k次方】。
Laurent提出了在复数情况下的近似,即:
相当于将上式的展开由实数改为复数、且下限变为了负无穷。当n=-1时的多项式系数即留数定理中留数Res。
针对周期函数,可以利用无穷多个正弦/余弦函数来进行叠加来近似:
其中:
, 表示函数在一个周期内的积分值。
考虑三角函数的辅助角公式,可以将上式整合为:
。
其中:
考虑Euler公式: 还可以利用虚指数进行叠加:
。
其中: 。
Fourier级数最大的意义是引入Fourier分析,在知乎上也有很多科普,例如:
Heinrich:傅里叶分析之掐死教程(完整版)更新于2014.06.06
如何直观形象、生动有趣地给文科学生介绍傅里叶变换?
小枣君:告诉你一个真实的傅里叶
3B1B的视频:傅里叶级数的可视化,形象展示傅里叶变换
级数理论除了函数求和近似以外,也有直接利用级数来定义的函数,比如黎曼ζ函数:
。自变量的实部需要满足:
可以通过Γ函数来将它延拓到整个复平面上:
关于其延拓的可视化,可以看3B1B的这个视频:黎曼函数解析延拓的可视化
它在数论中有很重要的应用,比如与莫比乌斯函数 的关系:
;
基于该函数提出的还有大名鼎鼎的黎曼猜想:
简单说明一下微分方程(Diffrential Equation)的概念,即含有未知函数导数的方程。如果是一元的导数 则称为常微分方程(Ordinay Diffrential Equation,ODE);相应地,如果是多元的导数,例如 则称为偏微分方程(Partial Diffrential Equation,PDE);
之前复制以后忘了改英文,感谢 @Ecr.弋夕希霅 的指正
最简单的微分方程如: 可以一眼就看出答案。
也有现在都没有搞清楚的方程,比如NS方程和湍流问题。
注: NS方程和前文提到的黎曼猜想都属于目前的七大数学难题,详见:
除了黎曼猜想,数学界还有哪些至今尚未得到证实的猜想?
微分方程的可视化3B1B也做过视频:微分方程引论
在求解微分方程的过程中,常常会引入很多特殊函数,这里举几个常见例子:
对于Poisson方程: ,左端u表示物体收到的电势能,右端的ρ表示某个带电物体的电荷密度,ε0为真空介电常数。求解该方程的问题常称为稳定场的求解,即方程与时间无关,始终保持稳定。
求解该方程的最简单的方式是利用点电荷叠加的方法,即先求解
这里点电荷的电荷密度为无穷大,所以用冲激函数来表示。解出G后,利用Green公式得到u和G的关系,从而得到原方程的解。故G又称为Green函数。
另一种求解该方程的方法是利用分离变量法,即通过把u表示成若干坐标乘积的形式来将PDE转化为ODE,采用无穷级数作为方程的解。每分离一个变量,就会多引入一个参数,称为本征值。解该ODE的问题称为本征值问题,常常引入一些特殊函数来表示XX方程本征值问题的解,该函数又称为本征函数。
基于球坐标分离变量提出了:(Associated)Legendre函数: 。以及球谐函数 。
基于柱坐标分离变量提出了:Bessel 函数:
这样的函数具有正交归一性,有同样性质的函数就是三角函数和虚指数函数。所以我们也可以用上述的函数无限求和来逼近其他函数,故称为广义Fourier展开。
基于方程提出的函数还有一个“大一统函数”——超几何函数 。很多前文提到的特殊函数可以用它来表示,如:
;
;
在量子力学中还会遇到如Hermite多项式、Laguerre多项式等特殊函数,也是利用薛定谔方程分离变量而提出来的,这里就不列出了。
有关于更多偏微分方程和特殊函数理论的介绍可以参见我这个回答:
基于上文所述,相信大家已经对所谓“高等函数”(或称为非初等函数)有了一个模糊的认识。并且也了解到函数概念的复杂和广阔性。
事实上,鉴于本人的知识和精力所限,在大学中对函数理论的研究也仅仅局限于自己的专业领域。对很多较为抽象复杂的函数概念只是提出了主观上比较粗浅的认识,在行文的过程中也尽量省略和减少赘述,有大量的概念、公式、定理都尚未提及。
本文的目的主要是基于我自己的理解,从学生的角度将函数概念的脉络能较为通俗地梳理清楚,给出一个线索导引。如果想要全面而清晰地理解文中提到亦或者未提到的函数概念,还是需要多研究一些相关的数学书籍【比如给出的参考文献】,详细地理解推导相应的定理,做一做相关的习题。