最近自己学习深度学习相关的东西,发现需要大量关于微积分的知识作为支撑,于是我在网上找到了这篇关于微积分的好文章,这也是我目前见过的最好的讲解微积分的文章了!要是大学课本这么写,高数怎么可能让那么多同学挂科!文章有点长,但是相信我大家认真读完,肯定会有所收获!感谢作者:长尾科技,原文地址如下:
你也能懂的微积分
微积分有多重要相信大家多多少少心里都有点数,搞数学的不会微积分就跟中学生不会“加减乘除”一样,基本上啥都干不了。牛顿是物理学界的封神人物,然而牛顿还凭借着微积分的发明,跟阿基米德、高斯并称为世界三大数学家,这是何等荣耀?这又从侧面反映出微积分是何等地位?
除了重要,很多人对微积分的另一个印象就是难。在许多人眼里,微积分就是高深数学的代名词,就是高智商的代名词,许多家长一听说谁家孩子初中就学了微积分,立马就感叹这是别人家的天才。其实不然,微积分并不难,它的基本思想甚至是非常简单的,不然也不会有那么多初中生学习微积分的事了。
所以,大家在看这篇文章的时候不要有什么心理负担,微积分并不是什么很难的东西,我们连高大上的麦克斯韦方程组都看过来了,还怕什么微积分对不对?只要跟着长尾科技的思路走,我相信一般的中学生都是可以非常顺畅地理解微积分的。
好,下面进入正题。
01从面积说起
我们从小学就学了各种求面积的公式,什么长方形、三角形、圆、梯形等等,然后“求阴影部分的面积”就成了小时候的一块心理阴影。
不知道大家当时有没有想过一个问题:好像我们每学一种新图形就有一个新的面积公式,可是,世界上有无数种图形啊,难道我要记无数种公式么?这太令人沮丧了!
更令人沮丧的是,还有很多图形根本就没有什么面积公式。比如我随手在纸上画一条曲线,这条曲线围成的面积你要用什么公式来算?但是,它确实围成了一块确定大小的区域啊,大小是确定的就应该能算出面积来,算不出来就是你的数学不行,对吧?于是,这个事就深深地刺痛了数学家们高傲的内心,然后就有很多人来琢磨这个事,比如阿基米德。
如何求一条曲线围成的面积?
面对这个问题,古今中外的数学家的想法都是类似的,那就是:用我们熟悉的图形(比如三角形、长方形等)去逼近曲线围成图形的面积。这就好比在铺地板砖的时候,我们会用尽可能多的瓷砖去填满地板,然后这些瓷砖的面积之和差不多就是地板的面积。
阿基米德首先考虑抛物线:如何求抛物线和一条直线围成的面积?抛物线,顾名思义,就是你往天上抛一块石头,这块石头在空中划过的轨迹。如下图的外层曲线:
这条抛物线和直线BC围成了一个弓形(形状像一把弓箭,涂了颜色的部分),这个弓形的面积要怎么求呢?阿基米德的想法是用无数个三角形去逼近这个弓形,就好像我们用很多三角形的瓷砖去铺满这块弓形的地板一样。
他先画了一个蓝色的大三角形ABC(这个三角形并不是随意画的,抛物线在A点处的切线必须跟BC平行。这里我们不细究,只要知道能够画出这样一个三角形就行)。当然,这个三角形ABC的面积肯定比弓形的面积小,小多少呢?显而易见,小了左右两边两个小弓形的面积。
如果我们能把这两个小弓形的面积求出来,加上三角形ABC就可以求出原来大弓形的面积了。但是,如何求这两个小弓形的面积呢?答案是:继续用三角形去逼近!
于是,阿基米德又使用同样的方法,在这两个小弓形里画了两个绿色的三角形。同样的,在这两个小弓形被两个绿色三角形填充之后,我们又多出了四个弓形,然后我们又用四个黄色的三角形去填充剩余的弓形……
很显然,这个过程可以无限重复下去。我们可以用1个蓝色,2个绿色的,4个黄色的,8个红色的等无穷多个三角形来逼近这个弓形。我们也能很直观地感觉到:我们使用的三角形越多,这些三角形的面积之和就越接近大弓形的面积。用三角形的面积之和来逼近这个弓形面积,这我没意见,但关键是你要怎样求这么多三角形(甚至是无穷多个三角形)的面积呢?
这就是阿基米德厉害的地方,他发现:每次新画的三角形的面积都是上一轮三角形面积的1/4。也就是说,2个绿色三角形的面积之和刚好是1个蓝色三角形面积的1/4;4个黄色的三角形的面积之和刚好是2个绿色三角形的1/4,那么就是1个蓝色三角形面积的1/16,也就是(1/4)²……
如果我们把所有三角形的面积都折算成第一个蓝色三角形ABC(用△ABC表示)的面积,那么大弓形的面积S就可以这样表示:S=△ABC+(1/4)△ABC+(1/4)²△ABC+(1/4)³△ABC……
这东西放在今天就是一个简单的无穷级数求和问题,但阿基米德是古希腊人,那是秦始皇都还没统一中国的年代,什么高等数学更是不存在的,怎么办呢?
阿基米德计算了几项,直觉告诉他这个结果在不断地逼近(4/3)△ABC,也就是说你用的三角形越多,面积S就越接近(4/3)△ABC。于是阿基米德就猜测:如果我把无穷多个三角形的面积都加起来,这个结果应该刚好等于(4/3)△ABC。
当然,光猜测是不行的,数学需要的是严格的证明,然后阿基米德就给出了证明。他证明如果面积S大于(4/3)△ABC会出现矛盾,再证明如果它小于(4/3)△ABC也会出现矛盾,所以这个面积S就只能等于(4/3)△ABC,证毕。
就这样,阿基米德就严格地求出了抛物线和直线围成的弓形的面积等于△ABC的4/3,他使用的这种方法被称为“穷竭法”。
02一千年以后
时光荏苒,再见已经是一千八百年后的十七世纪了。
穷竭法可以精确地算出一些曲线围成的面积,但是它有个问题:穷竭法对于不同曲线围成的面积使用不同的图形去逼近。比如上面使用的是三角形,在其它地方就可能使用其它图形,不同图形证明技巧就会不一样,这样就比较麻烦。
到了十七世纪,大家就统一使用矩形(长方形)来做逼近:不管你是什么曲线围成的图形,我都用无数个矩形来逼近你,而且都沿着x轴来做切割。这样操作上就简单多了。
还是以抛物线为例,这次我们考虑最简单的抛物线y=x²,它的图像大概就是下面这样(每取一个x的值,y的值都是它的平方),我们来具体算一算这条抛物线在0到1之间与x轴围成的面积是多少。
我们用矩形来逼近原图形,容易想象,矩形的数量越多,这些矩形的面积之和就越接近曲线围成的面积。这个思路跟穷竭法类似,但是更容易理解。
我们假设0到1之间被平均分成了n份,那么每一份的宽度就是1/n。而矩形的高度就是函数的纵坐标的值,纵坐标可以通过y=x²很容易算出来。于是,我们就知道,第1个矩形的高度为(1/n)²,第2个为(2/n)²,第3个为(3/n)²……
有了宽和高,把它们乘起来就是矩形的面积。于是,所有矩形的面积之和S就可以写成这样:
这只是一段普通的化简,相信大家只要知道平方和公式是下面这样就秒懂了:
于是,我们就得到了n个矩形面积之和的表达式:
因为n是矩形的个数,n越大,矩形的数量就越多,那么这些矩形的面积之和就越接近曲线围成的面积。所以,如果n变成了无穷大,我们从“直觉”上认为,这些矩形的面积之和就应该等于抛物线围成的面积。
与此同时,如果n是无穷大,那么这个表达式的后两项1/2n和1/6n²从直觉上来看就应该无限趋近于0,或者说等于无穷小,似乎也可以扔掉了。
于是,当n趋向于无穷大的时候,面积S就只剩下第一项1/3。所以,我们就把抛物线y=x²与x轴在0到1之间围成的面积S算出来了,结果不多不少,就等于1/3。
看完这种计算方法,大家有什么想说的?觉得它更简单,更神奇了,或者其它什么的?大家注意一下我的措辞,在这一段里我用一些诸如“直觉上”、“应该”、“似乎”这种不是很精确的表述。在大家的印象里,数学应该最精确、最严密的一门学科啊,怎么能用这些模糊不清的词来形容呢?
03严密性和实用性
然而,这正是问题所在:不是我不想讲清楚,而是在这个时候根本就讲不清楚。别说我讲不清楚,牛顿和莱布尼茨也讲不清楚,这跟阿基米德用穷竭法求面积时的那种精确形成了鲜明的对比。
使用穷竭法求面积,比如为了得到4/3△ABC,阿基米德就去证明如果它大于4/3会出现矛盾,小于4/3也会出现矛盾,所以你就必须等于4/3。这是非常严密的,虽然操作上麻烦了点,但是逻辑上无懈可击。
但是到了17世纪,我们是怎么得到抛物线与x轴围成的面积等于1/3的呢?我们得到了n个矩形的面积公式:
然后,我们觉得当n越来越大的时候,后面两项1/2n和1/6n²的值会越来越小,当n变成无穷大的时候,后面两项应该就是无穷小。于是,我们就认为可以把它直接舍弃了,所以面积S就只剩下第一项1/3。
但问题是,无穷小是多小?从直觉上来看,不论n取多大,1/2n和1/6n²都应该是大于0的,我们可以直接把0舍掉,但是对于并不等于0的数我们能直接舍弃掉么?这样做的合法性依据在哪里?
相对于古希腊的穷竭法,17世纪这种“统一用矩形来逼近原图形”的想法简单了不少,但同时也失去了一些精确性。虽然它计算的结果是正确的,但是它的逻辑并不严密。逻辑不严密的话,你拿什么保证你今天这样用是正确的,明天我那样用它还是正确的?
想想数学为什么这么令人着迷,为什么《几何原本》至今都保持着无与伦比的魅力?不就是因为数学的血液里一直流淌着无可挑剔的逻辑严密性么?
古希腊人或许早就知道17世纪这种更简单的计算方法,但是因为方法不够严密,所以他们压根不屑于使用。他们宁可绕弯使用更麻烦,但是在逻辑上无懈可击的穷竭法,因为对他们而言:逻辑的严密性,远比计算结果的实用性重要。在对严密性和实用性的取舍上,东西方走了截然不同的两条路:古代中国毫不犹豫地选择了实用性。他们需要数学帮助国家计算税收,计算桥梁房屋等建筑工程,计算商业活动里的各种经济问题。所以,代表中国古代数学的《九章算术》,里面全是教你怎么巧妙地计算这个计算那个。也因此,古代中国会有那么多能工巧匠,会有那么多设计精巧的建筑工程。
西方则截然相反,古希腊人坚定不移的选择了严密性。他们需要严密的逻辑帮他们认识世界的本原,认识世界是由什么组成的,为什么世界会是现在这个样子。所以,代表西方古代数学的《几何原本》就是教你怎么从5个显而易见的公理出发,通过严密的逻辑一步步推导出400多个多定理,即便这些定理并不显而易见。因此,西方能诞生现代科学。
失去简单性,数学会失去很多;失去严密性,数学将失去一切。至于如何让它变得严密,后面我们会细说。
04初见积分
我们从开篇到现在一直在讲面积,而微积分的名字里刚好又有一个“积”字,那么,这两个“积”字有没有什么联系呢?答案是肯定的。
我们可以把微积分拆成“微分”和“积分”两个词,积分这个词当初被造出来,就是用来表示“由无数个无穷小的面积组成的面积S”。
如上图所示,如果一条曲线y=f(x)和x轴在a和b之间围成的面积为S,那么,我们就可以这样表示这部分面积S:
在第2节的例子里,我们求的是抛物线y=x²与x轴在0到1之间围成的面积。那么,在这里f(x)=x²,a=0,b=1,而且最终我们知道这个结果等于1/3,把这些都代入进去我们就可以这样写:
也就是说,代表这块面积的积分值等于1/3。
为了加深一下大家对这个积分式子的理解,我们再回顾一下求抛物线围成面积的过程:我们用无数个矩形把0到1之间分成了无穷多份,然后把所有的矩形面积都加起来。因为矩形的面积就是底乘以高,而这个高刚好就是函数的纵坐标y。
所以,当我用无数个矩形来逼近原面积的时候,每个矩形的底自然就变成了无穷小,这个无穷小的底就是上面的dx。而x²表示的就是函数的纵坐标,就是矩形的高,底(dx)和高(x²)相乘不就是在求面积么?你再看看这个式子,跟前面求面积的过程是不是一样的?
不过,我还是要再强调一次,这里把dx当作一个无穷小的底,把积分当作是求面积,这些都是微积分创立初期的看法。这种看法非常符合我们的直觉,但是逻辑上是不严密的。这种无穷小量dx也招致了很多人(比如我们熟悉的贝克莱大主教)对微积分的攻击,并且引发了第二次数学危机,这场危机一直到19世纪柯西等人完成了微积分的严密化之后才彻底化解。随着微积分的涅槃重生,我们对这些基本概念的看法也会发生根本的改变。
关于求面积的事情到这里就讲完了,“用一些图形去无限逼近曲线图形”的想法很早就有了,穷竭法在古希腊就很成熟了,中国魏晋时期的数学家刘徽使用割圆术去逼近圆周率也是这种思想。到了17世纪初,这些思想并没有什么太大的改变,由于这些解法比较复杂,又很难扩展,所以大家的关注度并不高。
没办法,因为打死人们也不会想到:破解这种求曲线面积(求积分)的关键,竟然藏在一个看起来跟它毫无关联的东西身上,这个东西就是微积分名字里的另一半:微分。当牛顿和莱布尼茨意识到积分和微分之间的内在关系之后,数学就迎来了一次空前的大发展。
05直线和斜率
好,关于求面积(积分)的事情这里就先告一段落,接下来我们就来看看微积分里的另一半:微分。
微分学的基本概念是导数,关于导数,我在麦克斯韦方程组的积分篇里讲过一次,在微分篇里又讲过一次(在那里还讲了升级版的偏导数)。这里它是主角,我再讲一次。
我们爬山的时候,山越陡越难爬;骑车的时候,路面的坡度越大越难骑。一个面的坡度越大,倾斜得越厉害,我们就越难上去,那么,我们该如何衡量这个倾斜程度呢?
在平面里画条一条直线,我们可以直观地看出这条直线的倾斜程度,而且还不难发现:不管在直线的什么地方,它的倾斜程度都是一样的。
所以,我们就可以用一个量来描述这整条直线的倾斜程度,这个概念就被形象地命名为斜率。
那么,一条直线的斜率要怎么计算呢?这个想法也很直观:建一个坐标系,看看直线在x轴改变了Δx时候,它在y轴的改变量Δy是多少。如果Δx是固定的,那么显然Δy越大,这条直线就斜得越厉害,斜率也就越大。
这就跟我们判断跑步的速度是一样的道理:给定一个固定的时间,比如10秒(相当于固定的Δx),看看你能跑多远(相当于Δy),你跑得越远(Δy越大),我就认为你跑得就越快。当然也可以反过来,给定一个固定的距离,比如100米(相当于Δy),你跑的时间越短(Δx越小),我就认为你跑得越快。
把这两种情况综合一下,我们就能发现:固定时间(Δx)也好,固定距离(Δy)也好,最终起决定作用的是Δy和Δx的比值Δy/Δx。这个比值越大,你就跑得越快,对应的直线也就越陡。
所以,我们就可以在直线上随意找两个点,用它们纵坐标之差Δy和横坐标之差Δx的比值(Δy/Δx)来定义这条直线斜率。
学过三角函数的同学也会知道,这个斜率刚好就是这条直线和x轴夹角θ的正切值tanθ,即:tanθ=Δy/Δx。这就是说,直线和x轴的夹角θ越大,它的斜率就越大,就倾斜的越厉害,这跟经验都是一致的。
06曲线和切线
直线好说,关键是曲线怎么办?曲线跟直线不同,它完全可以在这里平缓一点,在那里陡峭一点,它在不同地方的倾斜程度是不一样的。所以,我们就不能说一条曲线的倾斜程度(“斜率”),而只能说曲线在某个具体点的倾斜程度。
于是,我们就需要引入一个新的概念:切线。
切线,直观地看,就是刚好在这点“碰到”曲线的直线。因为切线是直线,所以切线有斜率,于是我们就可以用切线的斜率代表曲线在这点的倾斜程度。
传统上我们可以这样定义切线:先随便画一个直线,让这条直线与曲线有两个交点,这样的直线叫割线(仿佛把曲线“割断”了,如下图蓝色的AB)。然后,我们让B点沿着曲线慢慢向A点靠近,直观上,等到B点和A点重合之后,割线AB就变成了曲线在A点的切线。
这样做很符合人们的直觉,但是它在逻辑上会有一点问题:当B点向A点移时,它是什么时候从割线变成切线的?
重合的时候么?如果B点和A点重合,那就最后只剩下一个点了,我们知道“两点确定一条直线”,一个点怎么能确定一条直线呢?但是,如果B点和A点不重合的话,那么这就仍然是一条割线而不是切线啊。
于是,这样就出现了一个“一看非常简单直观,但是怎么说都说不圆”的情况,似乎两个点不行,一个点也不行,怎么办?
解决这个问题有一个很朴素的思路:要确定这条切线,让A、B两点重合是不行的,但是让它们分得太开也不行。最好就是让这两点靠近靠近无限靠近,但是就是不让它们重合。没重合的话就依然是两个点,两个点可以确定一条直线;无限靠近的话又可以把它跟一般的割线区分开来,这样不就两全其美了么?
也就是说,A、B两点必须无限靠近但又不能重合,这样它们的距离就无限接近0但又不等于0。这是什么?这不就又是无穷小么?
我们前面求曲线围成的面积的时候,核心思想就是用无数个矩形去逼近原图形,这样每个矩形的底就变成了无穷小。在这里,我们又认为当A、B两点的距离变成无穷小的时候,割线AB就变成了过A点的切线,是不是有点巧?它们之间的共性,大家可以好好体会一下~
07初见微分
好,利用无穷小定义了一点上的切线,我们就可以理所当然地用过这点切线的斜率来表示曲线在这点的倾斜度了。
如何求直线的斜率我们上面已经说了,我把这张图再拉回来:
直线的斜率等于在直线上两点的纵坐标之差Δy和横坐标之差Δx的比值,即Δy/Δx。
而切线是当曲线上A、B两点相隔无穷小时确定的直线,那么切线的斜率依然可以写成Δy/Δx,只不过这时Δx和Δy都无限趋近于0。
莱布尼茨就给这两个趋近于0却又不等于0的Δx和Δy重新取了一个名字:dx和dy,并把它们称为“微分”。
也就是说,对莱布尼茨而言,dx这个微分就是当Δx趋向于0时的无穷小量,dy也一样。虽然dx和dy都是无穷小,但是它们的比值dy/dx确是一个有限的数(所以这时候你就不能把无穷小dx当成0了,否则还怎么当除数?),这就是该点切线的斜率,这样一切似乎就都解释得通了。
08导数
显然,我们在曲线的一点上定义了切线,那么在平滑曲线的其它点上也能定义切线。因为每条切线都有一个斜率,所以,曲线上的任何一点都有一个斜率值跟它对应。两个量之间存在一种对应关系,这是什么?这就是函数啊。
函数y=f(x)不就是告诉我们:给定一个x,就有一个y跟它对应么?现在我们是给定一个点(假设横坐标为x),就有一个斜率dy/dx跟它对应。显然,这也是个函数,这个函数就叫导函数,简称导数。
在中学的时候,我们通常在函数f(x)的右上角加上一撇表示这个函数的导数,那么现在这两种情况就都表示导数:
所以,导数f’(x)就可以表示横坐标为x的地方对应切线的斜率,它表示曲线在这一点上的倾斜程度。如果导数f’(x)的值比较大,曲线就比较陡,f’(x)比较小,曲线就比较平缓。于是,我们就可以用导数来描述曲线的倾斜程度了。
下面我们来看一个简单的例子,看看如何实际求一个函数的导数。
例1:求函数f(x)=x²的导数。
这还是我们前面说的抛物线,它的函数图像是这样的:
求函数的导数,就是求函数在每一点切线的斜率,而切线就是曲线上两个相距无穷小的点确定的直线。
那就好说了,我们假设曲线上有一个横坐标为x的点,那么,跟它距离无穷小的点的横坐标就是x+dx,由于这个点也在曲线f(x)=x²上,所以它的纵坐标就是(x+dx)²,即:
然后,我们用这两个点的纵坐标之差f(x+dx)-f(x)除以横坐标之差(x+dx)-x就能算出x点的切线斜率。因为这个x是任意取的,所以得到的结果就是任意点的切线斜率,那么这就是导数了:
到这一步都很简单,接下来就有问题了:这上面和下面的dx到底能不能约掉?
我们知道,除数是不能为0的,如果你想分子分母同时除以一个数,就必须保证这个数不是0。现在我们是想除以dx,这个dx就是我们前面定义的无穷小量,它无限接近于0却又不等于0。
所以,似乎我们姑且把它当作一个非零的量直接给约掉,那么导数上下同时除以dx就成了这样:
这个式子看起来简洁了一些,但是后面还是拖了一个小尾巴dx。
2x是一个有限的数,一个有限的数加上一个无穷小量,结果是多少?似乎还是应该等于这个具体的数。比如,100加上一个无穷小,结果应该还是100,因为如果等于100.00…0001那就不对了,无穷小肯定比你所有能给出的数还小啊,那么也肯定必须比0.00…001还小。
所以,我们似乎又有充足的理由把2x后面的这个dx也给去掉,就像丢掉一个等于0的数一样,这样最终的导数就可以简单地写成这样:
大家看这个导数,当x越来越大(x>0)的时候,f(x)’的值也是越来越大的。而导数是用来表示函数的倾斜程度的,也就是说,当x越来越大的时候,曲线就越来越陡,这跟图像完全一致。
所以,我们通过约掉一个(非零的)dx,再丢掉一个(等于零的)dx得到的导数f(x)’=2x竟然是正确的。
但是这逻辑上就很奇怪了:一个无限趋近于0的无穷小量dx到底是不是0?如果是0,那么为什么可以让分子分母同时除以它来约分;如果不是0,那又为什么可以把它随意舍弃?
总不能同时等于零又不等于零吧?你又不是薛定谔家的无穷小量。
数学不是变戏法,怎么能这么随意呢?于是,这个无穷小量就又招来了一堆批判。为什么说“又”呢?因为我在前面讲积分的时候就说了一次,在这里就体现得更明显了,眼见第二次数学危机大兵压境~
09导数的意义
好,我花了这么大篇幅从直线的斜率讲到了曲线的导数,这就已经进入微分学的核心领地了。为什么导数这么重要呢?
因为导数反映的是一个量变化快慢的程度,这其实就是一种广义的“速度”。速度这个概念在科学里有多重要就不用我说了吧,当我们说一辆车的速度很快的时候,我们其实就是在说这辆车的位移对时间的导数很大。
此外,有了导数,我们就能轻而易举地求一条曲线的极值(极大值或极小值),为什么?因为只要导数不为0,曲线在这里就是在上升(大于0)或者下降(小于0)的,只有导数等于0的地方,才有可能是一个极值点。
求极值可是非常重要的:军人希望他们发射的炮弹可以飞得尽可能地远;商人希望他们的利润可以尽可能地高;我们也希望去哪都能走最近的路……
导数的这些用处很多人也都知道,事实上,我上面说的所有内容,求曲线围成的面积也好,求曲线的导数也好,在牛顿和莱布尼茨之前大家就都已经知道了,但这些并不是最重要的。
牛顿和莱布尼茨之所以伟大,之所以大家把他们视为微积分的发明人,是因为他们在这些寻常事实背后发现了一个极不寻常的秘密:求面积和求导数,或者说积分和微分,这两个看似完全不搭边的东西,竟然是一对互逆的运算。
这里我就不重复说三遍了,暂停一分钟,大家好好思考一下这句话,看看自己听到这句极为重要的话时有何感想。
10互逆运算
积分和微分是一对互逆运算,这是微积分最核心的思想。把这个思想用数学语言描述出来就会得到一个定理,这个定理叫微积分基本定理。
这也是牛顿和莱布尼茨在微积分里最重要的发现,因此,微积分基本定理又叫牛顿-莱布尼茨公式。一个定理能够被称为XX基本定理,能够让这个领域的两个发明者直接冠名,这意味着什么,相信大家心里都有数。
那么,这句话到底是什么意思呢?说求面积(积分)和求导(微分)是一对互逆运算到底是在说什么?甚至,什么叫互逆运算?为什么发现“积分和微分是互逆的”这个事情这么重要?别急,且听长尾君慢慢道来。
什么是互逆运算?这里我们不去细扣它的定义,就直观地感受一下。从名字来看,互逆互逆,那应该就是有两种运算,一种能够把它变过去,另一种又可以把它变回来。
最常见的就是加法和减法:3+2=5,5-2=3。3加上2可以变成5,反过来,5减去2又可以变回3,所以加法和减法是一对互逆运算,这很好理解。
那么,当我们在说“求面积(积分)和求导(微分)是一对互逆运算”的时候,那就是说如果有一个东西,我们对它进行积分操作(求面积)可以得到一个新东西,如果我们对这个新东西再进行微分操作(求导)又能得到原来的那个东西,这样才算互逆。
下面我给大家举一个简单的例子,让大家直观地感受下为什么积分和微分是互逆的。
假如你从家去学校要走10分钟,我们把这10分钟平均分成10份,每份1分钟。那么,你在第1分钟里走的距离就是第1分钟的平均速度乘以时间间隔(也就是1分钟),第2分钟里走的距离就是第2分钟的平均速度乘以时间间隔(还是1分钟)。以此类推,我们分别把这10个1分钟里走的距离加起来,结果就是家到学校的总距离,这个好理解吧。
大家发现没有:这其实就是积分的过程。前面求曲线围成的面积的时候,我们就是把曲线围成部分的x轴平均分成很多矩形,然后把每个矩形的面积都加起来。这里求家到学校的总距离,一样是把家到学校的时间平均分成很多份,然后把每个小份的距离都加起来。
都是把一个大东西(家到学校的总距离,曲线围成的总面积)平均切成很多份,然后每一小份都用一个新的东西(每一分钟的距离,每一个矩形的面积)去近似,最后再把所有的小份东西加起来去逼近原来的大东西。
求面积的时候,矩形的数量越多,矩形的面积之和就越接近真实面积。同样的,我们把家到学校的10分钟分得越细(例子里只分了10份,我们可以分100份,1000份甚至更多),得到的总距离就越精确。
另外,我们把时间段分得越细,每个小时间段里的平均速度就越接近瞬时速度,如果无穷细分,那么无穷小时间段里的平均速度就可以认为就是瞬时速度了。
也就是说,如果知道整个过程中的瞬时速度(或者说是无穷小时间段内的速度),我们就能精确地求出无穷小时间段内的距离,然后把所有距离加起来得到精确的总距离,这就是积分。也就是说,通过积分过程,我们能从瞬时速度求出总距离。
另一方面,要证明微分(求导)是这个过程的逆运算,我们就得证明从总距离可以求出瞬时速度。也就是说,如果已知任意时刻你从家到学校的距离,你通过微分(求导)能把瞬时速度求出来。
这不是显而易见的事么?距离对时间求导,这就是速度啊,前面我们也说了“导数是一种广义的速度”。也就是说:距离除以时间,结果就是速度。你用平均距离除以平均时间得到平均速度,用瞬时距离(某一时刻的距离)除以瞬时时间(无穷小时间片段)自然就得到了瞬时速度。这样不就完了么,通过积分,我们能从瞬时速度求出总距离来;通过微分,我们能从总距离求出瞬时速度,这就说明积分和微分是一对互逆运算。我们也可以换个角度,从图像来更直观的看这点。
11v-t图像
中学学物理的时候,老师一定会画速度-时间(v-t)图像。v-t图像就是在一个坐标系里,用纵轴表示物体运动的速度v,横轴表示时间t,然后分析物体的运动情况。如下图:
然后老师就会告诉你:v-t图像里它们围成的面积s就是物体运动的位移的大小(位移是有方向的距离,是一个矢量)。你们想啊,这个坐标里横轴是时间t,纵轴是速度v,你要算它们的面积,那肯定是要用乘法的。物体做匀速运动的轨迹就是一条平行于t轴的直线,速度v1乘以时间t0刚好就是它们围成的矩形的面积s,而速度乘以时间的物理意义就是它的位移。所以,面积代表位移,刚刚好。
当物体不是匀速运动(轨迹是曲线)的时候,我就可以把时间切割成很多小段,在每一小段里把它们近似当作匀速运动,这样每一个小段的面积就代表每一个小段里的位移。
然后我把所有小段的面积加起来,得到的总面积不就可以代表总位移了么?所以,曲线围成的面积s一样代表位移。
大家想想,处理曲线的时候,我们把时间切成很多块,用每一个小块的面积(位移)之和去逼近总面积(位移),这不就是积分的思想么?反过来,如果你把这个黄色的面积S,把这个整体的位移看作一个随时间t变化的函数,对它求导自然就能得到速度v。也就是说,我们对速度v做一次积分能得到位移s;反过来,对位移s求一次导数(微分)就能得到速度v。这样它们的互逆关系就非常清楚了:
这部分逻辑并不难理解,大家只要好好琢磨一下,就会发现“积分和微分是互逆运算”这个事情是非常自然的。它在日常生活中到处都有体现,只不过我们平常没有太注意,而牛顿和莱布尼茨注意到了。
12原函数
知道了“积分和微分是互逆运算”能给我们带来什么呢?答案是:多一种选择。因为既然积分和微分是互逆运算,那么有些操作如果积分不擅长,我就可以把它丢给微分。
什么意思?还是以最开始求曲线围成的面积为例。我们是这样求抛物线y=x²与x轴在0到1之间围成面积的:如果用n个矩形去逼近,每个矩形的底就是1/n,n个矩形的面积之和就是这样:
当n趋向于无穷大的时候,后面两项就等于无穷小,然后结果就只剩下第一项1/3。
用这种方法,面对不同的曲线就得有不同的求和公式,最后还得保证相关项可以变成无穷小丢掉。所以,这种方法的复杂度和局限性都非常大,无法推广。
但是,在伟大的牛顿和莱布尼茨发现了“积分和微分是互逆运算”之后,这一切就改变了。因为我们有另一种选择:积分之路如果不好走,我们可以走微分啊。
怎么走呢?前面讲微分的时候,我们计算过f(x)=x²的导数,最终的结果是这样的:
那么反过来,如果我知道有一个函数是f(x)=2x,难道我就猜不出究竟是哪个函数求导之后变成了f(x)=2x么?当然可以啊,我们完全可以根据f(x)=2x反推出原来的函数是f(x)=x²+c。
为什么这里多了一个常数c?因为常数求导的结果都是0,所以就多了这样一个尾巴。
也就是说,f(x)=x²,f(x)=x²+1,f(x)=x²+3等函数的导数都是f(x)=2x,只凭f(x)=2x我们无法确定最开始函数具体是什么样子。但是,我们可以确定它一定就是x²加上一个常数c。于是,我们就把求导之前原来的函数f(x)=x²+c称为的f(x)=2x的原函数。
好,下面是关键:积分是函数围成面积的过程,速度v通过积分就得到了位移s,在v-t图像里速度v围成的面积就是位移s;微分是求导的过程,对位移s求一次导数就能够得到速度v。
有了原函数以后,我们也可以根据速度v把(求导之后等于速度v的)位移s给求出来,这时候位移s就是速度v的原函数(无非就是再加一个常数c)。而原函数表示的位移s就是速度v围成的面积,于是,原函数就有了求面积(积分)的效果。
也就是说,s求导一次就变成了v,那么v反向求导一次就可以得到s,这时候s是v的原函数。另一方面,因为s求导一次能变成了v,那么v积分一次也能变成了s(互逆运算)。于是,v通过求原函数和积分都能得到s,所以原函数s其实就有了积分(曲线v围成面积)的效果。
再简单地说,因为积分和微分是一对互逆运算,所以你反向微分(求原函数)的话,自然就“负负得正”,得到和积分一样的效果了。
所以,现在求曲线f(x)=x²和x轴在0到1区间里围成面积这个原本属于积分的事情,现在就可以通过反向微分(求原函数)来实现。
这是一次非常华丽的转变,马上你就会看到这种新方法会把问题简化到什么程度,而且,正是这种力量让数学发生了根本性的改变。
13微积分基本定理
好,既然要用反向微分的方法求面积,那我们就去找f(x)=x²的原函数,看看到底是哪个函数求导之后变成了f(x)=x²。我们用F(x)来表示这个原函数,那么F(x)就是它(C为常数):
大家不放心可以自己去验算一下,看看这个F(x)求导之后的结果是不是f(x)=x²。
因为求导是一个非常重要、基础的东西,所以求一些常见函数的导数和原函数都被一劳永逸的制成了表格,大家需要的时候直接去查,记住几个常用的就行。不过,在学习的初期,大家还是要亲自去算一些求导的例子。
有了f(x)=x²的原函数F(x)以后,怎么去求f(x)和x轴在0到1区间里围成的面积呢?前面已经分析了,原函数具有积分的效果,而积分就是曲线围成的面积,所以原函数也可以表示曲线围成的面积(为了方便理解,这里我们先不考虑常数c的影响,反正函数相减的时候常数c会抵消掉)。
因此,我们要求f(x)与x轴在0到1区间内围成的面积,直接用这个代表面积的原函数F(x)在1处的值F(1)减去在0处的值F(0)就完了:
对,你没看错,这样就完了。
F(1)-F(0)就是曲线在0到1之间围成的面积,我们这样得到的结果是1/3,跟我们原来用矩形逼近计算的结果一模一样,惊不惊喜,意不意外?但是它明显比原来的方法简单太多太多太多了,简单到一个中学生都能轻而易举地算出来,这才是微积分的真正力量。
有了这样的铺垫,微积分基本定理(牛顿-莱布尼茨公式)就非常容易理解了:如果函数f(x)在区间a到b之间连续(简单理解就是曲线没有断),并且存在原函数F(x),那么就有:
这是式子的左边就是函数f(x)与x轴在a到b区间内围成的面积,这点我们在讲积分的时候讲过了:
式子的右边就是原函数在b点和a点的差。意义也很明确:函数反向求导得到的原函数F(x)本来就表示面积,那么F(b)-F(a)自然就是这两点之间的面积之差。于是公式左右两边就都表示面积,完美!
这就是微积分的基本定理,这就是微积分的核心思想。
相信大家一路看到这里,要理解这个已经不是什么难事了。所谓牛顿和莱布尼茨发明的微积分,本质上就是他们看到了“积分和微分是一对互逆运算”,于是我就可以使用“反向微分(求原函数)”的方法来处理积分的问题。
积分的逆运算不是微分么?那么我把微分再逆一次,于是就“负负得正”,又变成积分了。而“对函数求导,求原函数”比用原始定义,用无穷多个矩形去逼近曲线面积的方法要简单得多得多,并且这种方法还具有一般性。
因此,积分和微分原本是两门独立的学问,现在被牛顿和莱布尼茨统一成了微积分,这种1+1会产生远大于2的力量。于是,接下来的数学和科学都出现了空前的发展。
14数学的力量
微积分的发明使我们求曲线围成面积的难度出现了断崖式的下降。那么,在这个过程中到底发生了什么?为什么数学可以如此有效地简化我们的问题?是我们的问题本来就很简单,以前把它想复杂了,还是我们真的把问题的复杂度降低了?
还记得小学遇到的“鸡兔同笼”问题么?鸡和兔被关在一个笼子里,从上面数,一共有35个头,从下面数,一共有94只脚,请问笼子里分别有多少只鸡和兔?
有很多“聪明”的老师会教你一些非常“有用”的解题技巧,比如,因为鸡有一个头两只脚,兔子有一个头四只脚,而现在总共有35个头,那么你把这个35乘以2,得到的70就是所有的鸡的脚加上一半的兔子的脚(因为兔子有4只脚,而你只乘以2,所以每只兔子你还有2只脚没有算)。
然后,我用总脚数94减去这个70,得到的24就是剩下的一半兔子脚,再用24除以2(一只兔子4只脚,一半就是2只)就得到了兔子的数量12。因为一共有35个头,那么用35-12=23就是鸡的数量。
当然,鸡兔同笼问题还有很多其它的特殊解法,长尾君这里就不再列举了。这些解法算出来的结果有问题吗?当然没问题,但是这些解法简单么?好么?
不好!为什么?因为局限性太大了。我今天放鸡和兔你可以这样算,那明天我要是放点其它的动物这方法是不是就不管用了?如果下次不是数头和脚,而是去数翅膀和脚,这方法还行么?
这就跟阿基米德用穷竭法算曲线围成的面积一样,面对每一种不同曲线围成的面积,我求面积的方法都不一样。我的每一种解法都严重依赖曲线的具体特性,所以这种方法的局限性就非常大,带来的意义也非常有限。而微积分之所以伟大,就是因为它从这些看起来不一样的问题里抽象出来了一个共同的本质,然后所有的问题都可以套用这套程序,这样大家才能放心的以它为跳板往前冲。
后来我们学习了方程,接着就发现以前让我们头痛不已的“鸡兔同笼”问题突然就变得非常简单了。不仅解决这个具体问题简单,而且随便你怎么变化,加入其它的动物也好,数上翅膀也好,都可以用一样的程序闭着眼睛把题目做出来。为什么会这样?
没有方程的时候,我们得具体问题具体分析,然后根据它的题干去做各种逆向分析。
逆向思考,这本来就是很反人类的思维方式。我们很容易从一系列原因出发得到某种结果,但是给你某种结果让你去倒着分析原因就是很困难的事情了(这不才有了侦探这个职业么)。
比如,如果我们现在知道了有23只鸡,12只兔子,然后让你去计算有多少头和脚,这是正向思维,很容易。但是,如果告诉你有多少头和脚,让你去反着思考有多少鸡和兔子,这就是逆向思维了,很麻烦。
方程告诉我们:为什么放着自己熟悉的正向思维不用,而跑去用麻烦的逆向思维呢?你说,我这不是不知道有多少只鸡和兔子,这不得已才用逆向思维么?方程告诉你,你不知道有多少只鸡和兔子无所谓,你可以先用一个未知的量代替它,先用正向思维把方程列出来再说。
比如,我假设有x只鸡,y只兔子,那么,一共就有x+y个头,2x+4y只腿。而题目告诉我们有35个头,94只脚,所以我们就可以得到:
我们毫不费力的就把这两个方程列出来了,于是这个题目基本上就做完了。因为剩下的事情就是把x和y从方程里解出来,而解方程是一件高度程序化的事情,什么样的方程怎么去求解,都有固定的方法。
从小学时代的“聪明技巧”到傻瓜式地列方程、解方程,这是数学上一个非常典型的进步,大家可以仔细想想:这个过程中到底发生了什么?方程到底是如何简化问题的?这跟微积分的发明有何异曲同工之妙?
其实,我们开始思考鸡兔同笼的那些“聪明的技巧”,那些逆向思维时的思路,都被打包塞到解方程的步骤里去了。
什么意思?比如,你要解上面这个方程:
老师可能会教你一些固定的方法。
第一步,把方程1两边都乘以2,得到2x+2y=70(这不就是跟我们上面的方法一样,把所有鸡兔的头都乘以2么)。
第二步,再用方程2减去方程1,这样就把x消去了,得到了2y=24(我们上面也是这么说的,脚的数量减去2倍头的数量就等于兔子剩下的脚的一半),然后就把兔子的数量y=12求出来了。
第三步,把兔子的数量,也就是y的值12代入到方程1,求出x的值,得到了鸡的数量23。
大家发现没有:你以前思考这个问题时最复杂的那些步骤,现在完全被机械化地打包到解方程的过程中去了。你以前觉得那些只有你才能想得到的巧妙解题技巧,只不过是最简单的解方程的方法,所以你就觉得这个问题现在变得非常简单了。
这就是数学!
数学不断地从不同领域抽象出一些相同的本质,然后尽可能地把抽象出来的东西一般化,程序化,这样我们就能越来越方便地掌握各种高级数学武器。
因此,数学越发展越抽象,越看重这种能够一般化、程序化的解决某种问题的方法。所以,方程的思想是革命性的,微积分也一样。
微积分也是使用了一种通用的方法来处理各种曲线围成的面积,稍加变化我们就能同样求出曲线的长度,或者曲面包含的体积。微积分之所以能够简化求面积的逻辑,是因为微积分把这块逻辑都打包到求原函数里去了,而后者是一个可以程序化、一般化的操作。
所以,我们学习数学的时候,也要更多地注意这些数学是从哪些不同的地方抽象出了哪些相同的本质,如何一般化地解决这类问题上。这是数学的“大道”,我们不用过于在意那些小技巧,没必要耗时间去琢磨“鸡兔同笼”问题的108种解法,以至于拣了芝麻丢了西瓜~
这一段似乎有点偏离主题,但是我觉得很重要。把这些理清楚了,对大家如何定位数学,如何理解、学习数学都会有很大的帮助。否则,如果我们从小学到高中学了十几年的数学,却不知道数学是什么,那不是很悲催么?而且,这一段对于我们理解微积分的意义也会很有帮助。
15进击的微积分
好,现在微积分创立了,微积分的基本定理也被正式地提出来了,接下来应该再做什么呢?你该不会以为文章到这里就要结束了吧?不不不,还远远没有。
诚然,微积分基本定理的发现是这场革命里最核心的东西,相当于革命的指导思想。既然已经有了指导思想,那接下来要做的事情自然就是扩大战果,把这么优秀的思想扩散到各个领域里去啊。怎么扩呢?
首先,微积分基本定理的核心思想就是用求原函数的方式来解决求面积的问题,所以求一个函数的原函数就成了问题的核心。那么,我们自然就要研究各种常见函数的求导和求原函数的方法。
这些弄清楚之后,我们接下来就要问:由一些常见函数组成的复合函数,比如两个函数相加减、相乘除、相嵌套复合等时候要怎么求原函数?怎么求积分?再扩展一下,现在知道了如何求面积,那要怎样求体积,求曲线的长度呢?
这部分内容是我们最擅长的,也是我们考试的重点。它的核心就是熟悉各种前人总结下来的微积分技巧,多练习,熟能生巧,没什么捷径。但是,也要特别警惕把对微积分的学习完全变成了对这种技巧的训练,这样数学就真的变成了算术了。
此外,我强烈建议有抱负的同学不要急着打开微积分的课本直接去翻看这些问题的答案。我在前面已经把微积分的思想说了,大家完全可以看看自己能不能独立把这些问题推出来,实在没辙了再去翻课本,也就是孔子说的“不愤不启,不悱不发”。
像牛顿和莱布尼茨那样洞察“积分和微分是互逆运算”,然后提出微积分基本定理,这是一流科学家的素养。一流科学家提出这种重大创新之后,你能跟着把后面很自然的东西做完善,这是二流科学家的基本素养。大家在学习数学的时候要有意识地培养自己的这种能力~
然后,我们就可以把微积分的技术扩展到各种其它的领域了。比如,有了微积分,我就可以研究弯曲的东西,曲线、曲面什么的都可以研究。这就等于说是在用微积分来研究几何,这就是微分几何。后面我讲广义相对论的时候,这玩意就必不可少了。
有了微积分,我们发现很多物理定律都可以写成微分方程的形式,有多个变量的时候就是偏微分方程。我上三篇文章讲的麦克斯韦方程组、波动方程,后面要讲的广义相对论的场方程,都是这样。
有了微积分,我们就可以计算各种不同曲线的长度。那么,如何确定在特定条件下最短的那条曲线呢?这里就发展出了变分法,变分法配合最小作用量原理,在物理学的发展里起到了极为关键的作用。
所以,微积分在接下来的两个世纪里基本上就这样疯狂的扩张着。科学(尤其是物理学)的发展需要微积分,微积分也需要从科学里寻汲取营养,它们就这样相互促进、相互成长、相亲相爱。
16被忽略的无穷小
但是,似乎大家都忘了一个问题:此时微积分的基础并不牢固,莱布尼茨把dx视为一个无穷小量,但是无穷小量还是怎么说都说不圆。
一个接近于0又不等于0的无穷小量到底是个什么玩意?为什么你有时候可以把它当除数约掉(认为它不为0),有时候又随意把它舍弃(认为它等于0)?看数学史的时候也会觉得奇怪,像欧拉、拉格朗日、拉普拉斯、伯努利兄弟这些顶级数学家,居然都对这些问题视而不见。更让人奇怪的是,他们使用这种逻辑不严密的微积分居然没有出什么差错,只能说大佬们的直觉确实逆天。
因此,微积分最后的问题就是:如何使微积分严密化?如何把微积分建立在一个坚实的基础之上?
之所以把dx看成一个无限趋近于0却又不等于0的无穷小量,主要是因为这样做很直观。我们用很多矩形去逼近曲线围成的面积,矩形数量越多,每个矩形的宽度就越小。当矩形的数量变成“无穷多个”的时候,每个矩形的宽度就“理所当然”地变成了无穷小。这么看,无穷小量确实很直观,但是这里有什么问题呢?
当我说矩形的数量是一百个、一千个的时候,我是可以把它们都数出来的,我也可以把它们的面积之和都算出来。但是,当你说矩形的数量是无穷多个的时候,无穷多个是多少个?你能数出来么?你真的可以把无穷多个矩形的面积一一算出来,然后把它们加起来么?
有人可能觉得我在胡搅蛮缠。无穷嘛,那肯定是无法具体数出来、测出来的,也不可能真的把无穷多个矩形的面积一个个算出来再求和。但是我知道是那么个意思,是那么回事就行了。我测不出来,但是我能想出来,难道还不让我想了么?
对,还真就不让想了!
大家可能都知道,科学和哲学以前是一家的。因为纯粹的思辨在哲学里非常常见,所以以前的“科学”里就到处夹杂着这种“可以想但是无法测量的东西”,这就极大的限制了科学的发展。因为一个东西如果无法测量你就无法用实验去验证它,无法验证你就不知道它是对是错,你不知道对错那就只能以权威说了算。你没有证据还敢说权威不对,那就很麻烦了,所以亚里士多德的学说可以统治欧洲近两千年。
现代科学从哲学里分离了出来,一个标志性的操作就是:科学家们开始关注那些能够用实验测量到的量,对那些用实验无法测量的东西避而不谈。
伽利略是公认的“现代科学之父”,他的核心观点有两条:第一,用数学定量地描述科学;第二,用实验验证科学。所以,如果你谈的是现代科学,那你就不能乱想了。
如果你还想用一些无法测量的概念来构建你的“科学体系”,那么你的方法论就是非科学的,你构建的也只是玄学而非科学,这是很多民科非常容易犯的错误。庞加莱甚至直接说:“凡是不能测量的东西,都不能算是自然科学。”
这种思想在科学昌盛的19世纪已经很普遍了,诞生于这个时期的实证主义也指出:人类不可能也不必要去认识事物的“本质”,科学是对经验的描写。他们甚至提出口号要“取消形而上学”。
17柯西来了
总之,一切的一切就是不让你在科学里再谈那些无法测量,无法验证的概念,科学要基于实证。
那么,只能想却无法数,无法“观测”的无穷小量是不是这样的一个概念呢?虽然它很直观,但是你回顾科学的历史,反直觉的重大科学进步难道还少么?历史一次次地告诫我们:直觉不可靠,我们能依靠的只有严密的逻辑和确凿的实验。
在这样的大环境下,我们迎来了一位重要人物:柯西。
柯西深刻地认识到:只要涉及数学概念,任何关于连续运动的一些先验的直观观念,都是可以避免,甚至是必须避免的。科学放弃了形而上学方面的努力,采用“可观测”概念之后就迎来了大发展,那数学为什么不也这样呢?
无穷小量是一个无限趋近于0但是又不能等于0的概念,也就是说它有一个极限位置0,你可以想多接近就多接近,但就是无法到达。
我们知道实数跟数轴上的点是一一对应的。当我们说一个量在无限趋近于0的时候,很多人脑海里浮现的画面就是一个点在数轴上不停地移动,从一个点移动到下一个点,一直靠近0这个点。
但是这个图景是不对的,为什么?因为实数是稠密的。稠密就是说任意两个点(实数)之间永远都有无数个点(实数)(你自己想想是不是,1和2之间有多少个数?)。你以为它能从A点移动到邻近的下一个B点么?对不起,这个它真做不到!
A点和B点之间永远有无数个点,也就是说A点根本就没有所谓的“下一个点”。你认为我一定要走完了A点到B点之间所有的点才能到达B点,那就不可避免地会陷入到芝诺悖论里去。因为你压根就不可能走完任何两个点之间的所有点(因为是无穷多个),所以,如果按照这种逻辑,你就根本“走不动”,所以芝诺的飞矢就飞不动了。
因此,面对这种连续的概念的时候,我们就不应该使用这种“动态的”定义。你想通过“让一个点在数轴上动态地运动来定义极限”是行不通的,这就是莱布尼茨的无穷小量栽跟头的真正原因。
数学家们经过一百多年的探索、失败和总结,最后终于意识到了这点,这些思想在柯西这里完全成熟。于是,柯西完全放弃了那种动态的定义方式,转而采取了一种完全静态,完全可以描述测量的方式重新定义了极限,进而为微积分奠定了扎实的基础。
这里我把柯西对极限的新定义原封不动的贴出来:当一个变量相继的值无限地趋近某个固定值的时候,如果它同这个固定值之间的差可以随意地小,那么这个固定值就被称为它的极限。
有人看了这个定义之后就在犯嘀咕:这跟莱布尼茨说的不是一样的么?你还不是在用“无限趋近”啊,“随意的小”啊这种跟“无穷小”差不多的概念来定义极限么?你说以前的定义是动态的,柯西给整成了静态的,可是我看来看去,柯西这个定义好像也在动啊。什么无限趋近,随意的小,不是在动么?
有这些疑问是正常的,毕竟是让数学家们卡了一百多年的问题,不可能那么太“显而易见”。
我们再仔细看看柯西的定义,它跟以前的差别到底在哪?你看啊,柯西虽然也有用“无限趋近”,但是他只是用这个来描述这个现象,并不是用它来做判决的。他的核心判决是后面一句:如果它同这个固定值之间的差可以随意的小,那么它就是极限。
可以随意的小和你主动去无限逼近是完全不一样的。可以随意小的意思是:你让我多小我就可以多小。你让我小于0.1,我就能小于0.1;你让我小于0.01,我就能小于0.01;你让我小于0.00…001,我就可以小于0.00…001。只要你能说出一个确定的值,不管你说的值有多小,我都可以让它跟这个固定值的差比你更小。柯西说如果这样的话,那么这个固定值就是它的极限。
大家发现没有,柯西学聪明,学鸡贼了,他把这个判断过程给颠倒了过来。以前是你要证明自己的极限是0,你就不停地变小,不停地朝0这个地方跑过去。但是,你和0之间永远隔着无数个点,所以你永远也跑不完,你也就不知道你要跑到什么时候去,这样就晕了。
现在我学聪明了,这个难以界定的东西,这个烫手的山芋我不管了,我丢给你,我让你先说。只要你说出一个数,你要我变得多小我就变得多小。你如果想让我变成无穷小,那你就得先把无穷小是多少给我说出来,你说不出来的话那就不能怪我了。
完美甩锅!这就是柯西的核心思想。
柯西就通过这种方式把那些不可测的概念挡在了数学之外,因为你能具体说出来的数,那肯定就都是“可观测”的啊。大家再看看这个定义,再想想之前莱布尼茨的想法,是不是这么回事?
于是,柯西就这样完美的甩开了那个招人烦的无穷小量。在柯西这里,无穷小量不过就是一个简单的极限为0的量而已,一个“只要你可以说出一个数,我肯定就可以让我和0之间的差比你给的数更小”的量。这样我们就能把它说得清清楚楚,它也不再有任何神秘了。
18魏尔斯特拉斯和ε-δ极限
然后,魏尔斯特拉斯用完全数学的语言改进了柯西的这段纯文字的定义,得到了最终的,也是我们现在教材里使用的ε-δ极限定义。
根据柯西的思想,魏尔斯特拉斯说:你要判断某个函数f(x)在某个地方a的极限是不是某个值L,关键就要看如果我任意说一个数ε(比如0.00…001或者任意其它的,注意是任意取,这里用ε代替),你能不能找到一个x的取值范围(用δ来衡量),让这个范围里的函数值f(x)与那个值L之间的差(用套个绝对值的|f(x)-L|表示)小于ε。如果你总能找到这样的δ,那我就说函数f(x)在a点的极限为L。
用精练的数学语言表述上面的话就是:当且仅当对于任意的ε,存在一个δ>0,使得只要0<|x-a|<δ,就有|f(x)-L|<ε,那么我们就说f(x)在a点的极限为L。记做:
定义里的Lim就是极限的英文单词Limit的缩写,这个箭头x->a也非常形象地表达了极限这个概念。
这个定义就真正做到了完全“静态”,不再有任何运动的痕迹(连柯西说的“无限趋近”、“随意的小”都没有了),也不再有任何说不清的地方。从定义你也能清楚地看出来:它根本不关心你是如何逼近L的,飞过去、跳过去、爬过去的它都不管,只要最后的差比ε小就行,我就承认你是我的极限。
用一位伟人的名言翻译一下就是:不管黑猫白猫,能比ε还小的就是我的极限好猫。
这里要特别注意的是ε是任意的,任意就是说随便ε取什么你都要找到对应的δ,你不能说有10个ε满足条件就说这是极限。
看个例子,我们考虑最简单的f(x)=1/x。当x的取值(x>0)越来越大的时候,这个函数的值就会越来越小:f(1)=1,f(10)=0.1,f(100)=0.01,f(1000)=0.001,……
看得出来,当x的取值越来越大的时候,f(x)的值会越来越趋近于0。所以,函数f(x)在无穷远处的极限值应该是0,也就是说:
这个结论是很明显的,接下来我们就来看看如何用ε-δ定义来说这个事。
按照定义,我们要取一个任意小的ε,假设这里我们取ε=0.1,那么我们就要去找一个δ,看能不能找到一个范围让|f(x)-0|<0.1,显然只需要x>10就行了;取ε=0.01,就只需要x>100就行了;任意给一个ε,我们显然都能找到一个数,当x大于这个数的时候满足|f(x)-0|<ε,这样就OK了。
于是,我们就构建了一个逻辑严密,不再有任何“说不清”概念的极限理论。有了这个坚实的地基,我们就可以放心地在上面盖房子了。那个漂泊了一百多年,那个被幽灵般的无穷小量缠绕了一百多年的微积分,即将迎来新生。
19积分的重建
先看积分,我们之前认为曲线围成的面积是无数个宽度为无穷小量的矩形面积之和,于是我们在这里就被无穷小量缠上了。有了ε-δ极限之后,我们就可以刷新一下我们对积分的认知了:从现在起,我们把曲线围成的面积看成是一个极限,而不再是无数个无穷小量的矩形面积之和。
什么意思?假设我们用1个矩形逼近曲线围成的面积的时候,我把这一个矩形的面积记做S1,用两个矩形逼近的面积之和记做S2,同样的,我们记下S3,S4,S5……
一般情况,如果我们用n个矩形去逼近这个面积,这n个矩形的面积之和就记做Sn。如果这个Sn的极限存在,也就是说,随便你说出一个数字ε,我都能找到一个n的范围,让Sn和A之间的差|Sn-A|小于你给定的这个数字ε。那么,A就是这个Sn的极限。
于是,我们就说:曲线围成的面积就是这个极限A,它是n个矩形面积之和这个序列Sn的极限。
所以,我们就把这个极限过程表示的面积A定义为函数f(x)从a到b上的积分:
这样,我们的积分就成了一个由ε-δ语言精确定义的极限。这里没有那个等于0又不等于0的无穷小量,一切都清清楚楚、明明白白,没有含糊的地方,这就是第二次数学危机的终极解决之道。
这样处理虽然不再那么直观,但是它非常精确和严密,这是符合数学的精神的。直观虽然能帮助我们更好的感受数学,但是如果失去了严密性,数学将什么都不是。
20导数的重建
积分解决了,微分这边也是一样。有了ε-δ定义之后,我们就再不能把导数看成是两个无穷小量的比值(dy/dx),而是:把导数也看成一个极限,对,还是极限。
这个理解起来相对容易,函数在某一点的导数就是这点切线的斜率。我们前面也说了,切线就是当割线的两点不停地靠近,当它们的距离变成无穷小时决定的直线。
很显然,这个定义是依赖无穷小量的,我们现在要用ε-δ定义的极限来代替这个无穷小量。所以,切线就应该被理解为割线的极限,那么切线的斜率(也就是这点的导数)自然就是割线斜率的极限,所以导数f(x)’也自然而然地成了一个极限。
由于割线的斜率就是用这两点的纵坐标之差f(x+Δx)-f(x)除以这两点的横坐标之差(x+Δx-x=Δx),而导数f(x)’是割线斜率的极限。那么,我们在割线斜率的前面加一个极限符号就可以表示导数f(x)’了:
这才是导数的真正定义,它是一个极限,而不再是两个无穷小量dy与dx的商dy/dx。也就是说,按照极限的ε-δ定义,这个导数f(x)’的真正含义是:你任意给一个ε,我都能让割线的斜率与这个值的差比你给的ε更小。
我反复强调ε-δ定义的含义,就是希望大家能真的从这种角度去理解极限,思考极限,逐渐放弃那种“无限动态趋近某个点”的图景。思维一旦形成定势,想再改过来是非常困难的,所以我们得经常给自己“洗脑”,直到把新理论的核心思想洗到自己的潜意识里去,这样才算真正掌握了它。
我以前讲相对论的时候,很多人在讲相对论时能切换到相对论思维,但是平常一不留神就又跌回到牛顿的思维里去了。然后就闹出了一堆悖论、佯谬和各种奇奇怪怪的东西,这里也一样。
21微分的重建
莱布尼茨当年认为导数是两个无穷小量dy和dx的商,所以他用dy/dx来表示导数。虽然现在导数不再是这个意思,但是莱布尼茨当年精心发明的这一套符号确实是非常好用,于是我们就继续沿用了下来。
也就是说,我们今天仍然用dy/dx表示导数,但是大家一定要注意,dy/dx在现代语境里是一个极限,不再是两个无穷小量的商。
如果不熟悉微积分的历史,就很容易对这些符号产生各种误解,这也是很多科普文、教科书在讲微积分时的一大难点。因为思想是新的,符号却是老的,确实很容易让人犯糊涂。
于是,在莱布尼茨那里,他是先定义了代表无穷小量的微分dx和dy,然后再用微分的商定义了导数dy/dx,所以那时候导数也叫微商。
但是现在剧情完全反转了:我们现在是先用ε-δ定义了极限,然后从极限定义导数dy/dx。这里压根没有微分什么事,只不过由于历史原因我们依然把导数写成dy/dx这个样子。
那么,dx和dy这两个之前被当作无穷小量的微分的东西,现在还有意义么?
答案是有意义!
这个dx和dy还是有意义的,当然,有意义也肯定不可能再是以前无穷小量的意思了。那么,在ε-δ极限这种全新的语境下,dx和dy在新时代的意义又是什么呢?请看下图:
蓝色切线的斜率表示在P点的导数,如果我们继续用dy/dx表示导数的话,那么从图里就可以清楚的看到:dx表示在x轴的变化量,dy就刚好表示蓝色的切线在y轴的变化量。
也就是说,当自变量变化了Δx的时候,Δy表示实际的曲线的变化量,而微分dy则表示这条切线上的变化量,这就是新的语境下函数微分dy的含义。而自变量的微分dx,大家可以看到,就跟x轴的变化量Δx是一回事。由于切线是一条直线,而直线的斜率是一定的。所以,如果我们假设这条切线的斜率为A,那么dy和Δx之间就存在这样一种线性关系:dy=A·Δx。这些结论都可以很容易从图中看出来,但是,一个函数在某一点是否有微分是有条件的。我们这里是一条很“光滑”的曲线,所以在P点有微分dy,也就是说它在P点是可微的。但是,如果函数在P点是一个折点,一个尖尖的拐点呢?那就不行了。因为有拐点的话,你在这里根本就作不出切线来了,那还谈什么Δy和dy?关于函数在一点是否可微是一个比较复杂(相对科普的复杂~)的问题,判断曲线(一元函数)和曲面(二元函数)的可微性条件也不太一样。直观地看,如果它们看起来是“光滑”的,那基本上就是可微的。
微分的严格定义是这样的:对于Δy是否存在着一个关于Δx为线性的无穷小A·Δx(A为常数),使它与Δy的差是较Δx更高阶的无穷小。也就是说,下面这个式子是否成立:
o(Δx)就表示Δx的高阶无穷小,从字面上理解,高阶无穷小就是比无穷小还无穷小。当Δx慢慢趋向于0的时候,o(Δx)能够比Δx以更快的速度趋向于0。比如当Δx减小为原来的1/10的时候,o(Δx)就减小到了原来的1/100,1/1000甚至更多。
如果这个式子成立,我们就说函数y=f(x)在这点是可微的,dy=A·Δx就是函数的微分。因为这是一个线性函数,所以我们说微分dy是Δy的线性主部。
这部分的内容好像确实有点乏味,莱布尼茨时代的微分dy就是一个接近0又不等于0的无穷小量,理解起来非常直观。但是,我们经过ε-δ的极限重新定义的函数的微分dy竟然变成了一个线性主部。这很不直观,定义也挺拗口的,但是这样的微积分才是现代的微积分,才是基础牢固、逻辑严密的微积分。
为了让大家对这个不怎么直观的微分概念也能有一个比较直观的概念,我们再来看一个非常简单的例子。
我们都知道半径为r的圆的面积公式是S=πr²。如果我们让半径增加Δr,那么新的圆的面积就应该写成π(r+Δr)²,那么,增加的面积ΔS就应该等于两个圆的面积之差:
大家看到没有,这个式子就跟我们上面的Δy=A·Δx+o(Δx)是一模一样的。只不过我们把x和y换成了r和S,A在这里就是2πr,这里的π(Δr)²是关于Δr的平方项,这不就是所谓的高阶(平方是2阶,Δr是1阶,2比1更高阶)无穷小o(Δx)么?
所以,它的微分ds就是2πr·Δr这一项:
它的几何意义也很清楚:这就是一个长为2πr(这刚好是圆的周长),宽为Δr的矩形的面积,好像是把这个圆“拉直”了所得的矩形的面积。
好了,微分的事情就说到这里,剩下的大家可以自己慢慢去体会。毕竟这是一篇关于微积分的科普文,再写太多就成教材了。
22收官的勒贝格
关于微积分的重建,我们已经看到了如何在ε-δ定义的新极限下重新定义了积分和微分,也看到了在这种新的定义下,积分和微分的概念跟以前有什么不同。沿着这条路,我们还能非常严格的证明微积分基本定理,也能很好地处理连续性、可微性、可导性、可积性等问题。虽然在具体的计算方式上跟以前的差别不大,但是微积分的这个逻辑基础已经跟以前发生了翻天覆地的变化,这个差别大家要仔细体会。
在魏尔斯特拉斯给出极限的ε-δ定义之后,微积分的逻辑问题基本上解决了,但还有一些其它的问题。比如,有了微积分,数学家们当然就希望尽可能多的函数是可以求出积分的,但是你像来砸场子的狄利克雷函数(x为有理数的时候值为1,x为无理数的时候值为0)就没法这样求积分。
不信你想想,一个在有理数为1,无理数为0的函数你要怎么去切块?它在任何一个地方都是不连续的,你甚至连它的图像都画不出来,怎么用矩形去逼近?所以,这里就有一个棘手的问题:一个函数到底要满足什么条件才是可以求积分的呢?
这个问题一直拖到20世纪初才由大神勒贝格解决。勒贝格把我们常见的长度、面积概念做了一个扩展,得到了更一般的测度的概念。然后,他基于这种测度定义了适用范围更广的勒贝格积分,于是,原来无法求积分的狄利克雷函数在勒贝格积分下就可以求积分了。然后,勒贝格基于测度的理论也给出了一个函数是否可积的判断条件,完美收官!
于是,我们这段跨越两千多年,从阿基米德到勒贝格的微积分之旅就要告一段落了。
23结语
古希腊人和古代中国人都知道用已知的多边形去逼近复杂曲线图形,阿基米德用穷竭法算出了一些简单曲线围成的面积,刘微用正多边形去逼近圆,也就是用割圆术去计算圆周率。
牛顿和莱布尼茨发现了“微分和积分是一对互逆运算”这个惊天大秘密,正式宣告了微积分的诞生。
柯西和魏尔斯特拉斯用ε-δ语言重新定义了极限,把风雨飘摇中的微积分重新建立在坚实的极限理论基础之上,彻底解决了幽灵般的无穷小量的问题,解决了第二次数学危机,也在数学领域解决了芝诺悖论。
勒贝格基于集合论,对积分理论进行了一次革命,建立了定义范围更广的勒贝格积分,并且进一步把这场革命推进到了实分析。
我的文章虽然以勒贝格结尾,但这丝毫不代表微积分在勒贝格这里就走向了完结,即便这时候已经是20世纪初了。
20世纪60年代初,有一个叫鲁滨逊的德国人重新捡起了莱布尼茨的无穷小量。他把实数扩展到非实数,直接把无穷大和无穷小变成了非实数域里的一个元素。所以他的理论可以直接处理无穷小量,这是第一个严格的无穷小理论。
我们知道,幽灵般的无穷小量在微积分建立初期掀起了腥风血雨,后来经过柯西和魏尔斯特拉斯的拼命抢救,才终于在坚实的ε-δ极限理论之上重建了微积分。柯西和魏尔斯特拉斯的这一套让微积分严密化的方法被称为标准分析。
而鲁滨逊认为,无穷小量虽然不严谨,但是大家基于无穷小量做的微积分计算却也都是正确的,这至少表明无穷小量里应该也包含着某种正确性。ε-δ极限是一种绕弯解决无穷小量不严谨的方法,但是这种方法并不是唯一的。鲁滨逊选择直接面对无穷小量,直接建立了另一种让微积分严密化的方法。因此,与柯西和魏尔斯特拉斯的标准分析相对,鲁滨逊的这种方法被称为非标准分析。
提出了不完备定理的数学大神哥德尔就对非标准分析推崇备至,他认为非标准分析将会是未来的数学分析。他说:“在未来的世纪中,将要思量数学史中的一件大事,就是为什么在发明微积分300年后,第一个严格的无限小理论才发展起来。”
我们现在就处在哥德尔说的未来的世纪中,各位看官对这个问题有没有什么看法呢?如果我的这篇文章能够让大家对微积分,对数学感兴趣,进而开始自己独立的思考这些问题,那就善莫大焉了~
此外,我希望长尾科技的这篇文章也能多多少少改变一下大家对数学的看法:数学不等于计算,数学也不等于应用,绝妙而深刻的数学思想(比如发现微分和积分是互逆过程)和严密的逻辑(如使用ε-δ定义极限)反而是更重要的。而且,数学的壮观之美也往往需要站在后面两个角度上才能体会到,我很难相信有人会觉得重复的做计算是很有趣的,这也是很多人不喜欢数学的原因。
但是,我绝对相信那些真正认识了数学的人,他们是发自内心的觉得数学美丽动人。
并不是那些数学大神们很奇怪,而是他们确实看到了常人没能看到的绝美风景。