如果说对于函数的概念,我们总是能够从日常直观出发,就能很好地加以理解,因为毕竟因果关系的观念在我们的意识当中是非常深根蒂固的。那么要真正严格地理解极限的观念,就不是那么自然的了。
对于极限的观念,最为关键的问题是,极限的模糊形象是谁都有的,但是如何定量地加以描述,从而是可以应用来作为一般的判别标准的呢?
这个问题实际上困扰了人们几百年,一直到19世纪才加以解决的。
数列的极限。
数数是人类最原始的数学活动,应该说,对于数数我们没有更多的数学方面的分析可言的了,或者说至少从数学的角度而言,数数是一个足够清楚而明确的行为。因此我们引入极限这么一个抽象概念就从数数开始。
最为主要的一种事物运动变化的方式,是一种给人以连续性的感觉的变化。对于这样的变化方式,我们可以有两种研究方式,一是属于物理学范畴的研究方式,就是说去探讨事物变化发展中表现出来的连续性,究竟是一个什么样的过程。另一种研究方式是并不考虑所谓连续性究竟是什么回事,而是首先人为地定义一种明确的可以定量处理的连续性,使得我们对于一般事物变化发展的描述都具有这种连续性的特点,并且总是在这种应用当中,随时对实际过程与理论推理进行验证与对比,从而得到使用这种人为连续性的观念的合理性,一直到实验表明再也不能使用这个人为前提为止。
确实,我们应该学会承认,当我们对客观事物进行描述与分析时,肯定是要基于一些前提条件或者说假设的,问题的关键,不是在于我们是不是应该首先证明了这些前提的正确性,才能再来进行随后的工作,而是承认任何的理论工作都只是相对的,是否有用必须经过实验的证明才能决定。
现在我们的主要工作就是建立一个关于日常生活的连续性的严格表述。而这个概念是可以从我们进行最为简单的数数开始的。
设存在一个数列,也就是一个数值的集合,这个集合的元素可以一个一个的数出来,同时,每一个元素都可以加上唯一的标志,而自然数是最为适宜作这件工作的。比如说,把一个数列写成这样的样子:
,或者简单地记成{
。
显然,可以想象,随着我们的数数,这个数列的取值,就会发生某种变化,(当然,对于总是取同一个数值的数列,我们没有什么兴趣。)这种变化的过程应该说是相当明确而没有任何含糊与抽象的地方。
然后,我们来规定一种具有特定规律的数列变化过程:
对于数列
,假设存在一个确定的常数a,现在我们考虑变量
(显然这是一个反映数列数值变化的,随着n而发生变化的变量。),如果我们任意找到一个数
,无论它的数值有多么大或者多么小,我们总是能够在这个数列当中找到一个元素
,使得在这个元素后面的所有的数列元素,都使得相应的变量
的数值小于
,换一句话来说,就是,对于任意的
,总是存在一个N,使得当n>N时,总是有
![]()
成立,这时我们就把a称为数列
的极限。并且称数列
收敛于极限a。我们使用记号
来表示这点。否则我们就说数列{
是发散的。
这就是一个数列收敛于一个极限或者说存在一个极限的定义。
在这个定义里面,最为关键的地方,也是初学者最为困难的地方有两个:
1。数值
是任意的。实际上也就是说,只要存在一个
的数值不满足定义的条件,就不能说数列收敛于极限a。
这里初学者感到非常困难的地方是,我们是不是一定要对所有可能的
都进行检验,才能得到最后的判断呢?在实际问题当中,由于我们的目的是希望知道变量
是否越来越小,因此一般总是只要取
大于0,并且足够小(以后我们在有关极限的定义当中,总是先假设了这点,记住这点并非是必要的,而是方便的),当然只是这样还不能减少我们对
的任意取值进行验证的任务,关键在于,我们一般所处理的数列,总是按照某种特定的规律来变化或者说是按照某种特定的规律来定义的,这样一般从这个数列的变化规律本身,就可以足够使得我们进行判断,并且还有可能找到一个特定的由
决定的N的值,使得条件得到满足,或者是可以找到反例。
实际上本章的最困难的地方就是如何判断一个数列是否存在极限,如果存在的话,又如何得到这个极限。这里最重要的方法是应用不等式。
不过,我们的课程在这个方面的要求并不是过高的,因此我们只是需要考虑一些比较简单的例子,而我们的精力应该集中在对于极限思想的理解。
1. 满足条件的n必须取遍所有大于N的自然数。
初学者往往会觉得这是不可能的,实际上,我们并不需要对所有大于N的n值进行检验,同样由于数列的变化是具有规律的,从生成数列本身的规律,我们一般总是能够通过有限的步骤,来得到所需要的判断。
那么究竟所谓生成数列的规律是什么呢?一般说来,一个数列的元素总是一个由变量n决定的函数,这里变量n取遍自然数,就生成了数列的全部项。这个函数的表达式称为通项
的通项公式。
不过通项公式有时候并非完全只是n的函数,而是同时由变量n和第n项之前的项所决定,这时,通项公式表现为一个递推公式,这种情况的处理比较复杂,我们不过多的涉及。
实际上对于上面的第二点,如果我们把希望得到的结论放弱一点,就还可以有第二种更为方便的说法,这就是相当重要的柯西收敛原理:
我们说数列{
收敛,它的充要条件是:对于任意的
>0,总是存在正整数N,使得对于任意的自然数p和n>0,有
![]()
成立。
可以看到,在这里对数列所进行的检验与极限的定义当中对数列所进行的检验是存在一点差异的,就是在这里对数列进行检验,我们并不需要知道这个数列的极限究竟是多少,而通过检验,我们也只是知道这个极限是否存在极限。而在极限的定义当中,要对一个数列进行检验,实际上是预先假设知道了这个极限是多少,所谓的检验只不过是证明这个数列的极限是否这个给出的极限值。
因此,在实际问题当中,应用柯西原理是更为方便的检验方法。
在说明了一个数列的极限的含义以后,我们就可以得到一系列的这种极限过程的性质如下:
(1)数列{
以a为极限的另一个说法,或者说一个充要条件是:对于数列{
的任意一个子数列{
都以a为极限。
这种说法一般并不是应用于正面的结论,因为这就意味着我们要取一个数列的任意子数列来进行验证,这反而把事情搞复杂了,但一般说来更难以说明正面结论的判据,往往更易于说明反面结论,这也就是说,我们常常可以很方便地应用这个判据来说明某个数列是发散的,因为,我们只要能够在一个数列里,构造出一个发散的子数列,或者是构造出两个具有不同收敛极限的子数列,就可以说明这个数列是发散的。
(2)如果两个不同数列具有相同的极限:
,而另外一个数列{
满足条件:存在一个确定的自然数N,当n>N时,总是有
![]()
成立,那么数列{
收敛,并且极限为c。
这个性质被称为夹逼定理,常常用来求某个合适的数列的极限,前提是已知另外两个数列的极限,并且这三个数列具有定理所要求的关系。
(3)如果我们把数列看成是以自然数为自变量的函数,那么就可以相应地定义这个函数的有界性和单调性,这两个概念是相当直观的,并且显然可以知道一个收敛数列必然是有界的,因为按照收敛的定义,满足
![]()
的项总是有限的,因此总能够得到一个确定的函数的界。
反过来,则还必须加上一个条件:
单调而且有界的数列必定存在极限。
这是一个相当重要的极限存在定理,因为往往判定一个数列的单调性和有界性是比较容易的。
从这个定理可以得到一个条件比性质(1)更弱,但结论一样的极限存在定理:
(4)如果数列{
的子数列{
和{
都收敛于同一个极限,那么数列{
也收敛于这个极限。
显然这个定理比性质(1)所需要的条件更弱,但结论是一样的,这是因为我们选取了特定的子数列。
(5)如果一个数列是由两个收敛数列通过四则运算得到的,那么这个数列的收敛性质就完全由这两个数列决定,这就是数列极限的四则运算性质:
a.
其中k为实数;
b.
;
c.
;
d.
,其中
。
函数的极限。
上面对于数列的讨论,完全可以看成是对于一种最为简单的函数的极限的讨论,这里唯一的差别,就是一般的函数的取值往往是连续的,而数列的取值是可以用自然数计数的。
这里数值的连续性,或者说实数的连续性,仍然是我们不清楚的概念,尽管这是一个微积分最为基本的概念,是我们下面讨论的一个基础,但是由于本课程的限制,我们不学习艰涩的实数连续统理论,因此从逻辑的角度来讲,我们只能是预先承认一种直观上的连续性观念,而实际上,这种直观观念对于我们下面的学习,也是足够了的。
尽管数列的项是可以用自然数计数,但在数列的极限定义当中,我们并没有依赖于在实际的检验当中,进行逐项的比较,也就是说,在极限的定义当中,数列的这种离散取值形式是无关紧要的。我们仍然可以仿照数列的极限的定义,说明一个函数的极限的定义。
不过我们还必须首先考虑一个函数与数列的形式方面的差别。
我们知道,一个数列所表示的变化,是具有明确的自变量变化形式的,即随着自然数的增大而变化,而一个一般函数所表达的,则只是一般的自变量与因变量的数值对应,而并没有更具体地要求指明自变量与因变量的变化过程是如何进行的,函数的这种属性,实际上也正是函数的抽象能力之所在。那么我们如何考虑在一个函数所表达的变化过程当中可能存在的极限现象呢?类似于数列的极限过程里面,自变量可以取得任意大一样,在函数的极限过程里面,可以考虑自变量与某一个特定值的距离任意小。我们知道一个数列如果收敛,那么它的极限肯定是唯一的,这也可以说是极限概念之所以有意义的地方。而对于一个函数来说,同样必须考虑自变量在一定的变化方向上的函数变化性质,即如何定义函数的具有唯一性质的极限。这里所谓自变量的变化方向,就是指自变量与某个特定值的距离任意小的意思。
为了说明自变量与某个特定值的距离任意小这种函数变化的特定形式,我们定义一个特定的概念,就是邻域的概念:
对于确定的一个实数x,我们定义它的一个邻域,是指一个开区间
这个开区间的特别之处在于
可以看成是一个变量,并且一般是可以取任意小的数值的变量,因此这个开区间的特别之处在于,这个开区间的大小是可以任意地小。邻域这个概念在下面函数的极限定义当中具有关键的作用,希望同学们认真加以体会。
首先假设函数f(x)在点
的邻域
内有定义,而在
点上不一定需要有定义。如果存在一个确定的点A,而我们如果取点A的任意一个邻域
,都可以找到相应的点
的邻域
使得对于函数y=f(x)来说,只要自变量x属于邻域
里,就有因变量y属于邻域
,这样我们就可以说当函数自变量x趋向于点
时,函数以A为极限,记成
。
我们也可以不使用邻域是概念,直接使用实数之间距离的概念,以类似于数列极限的形式来说明函数的极限:
对于函数y=f(x),假设存在两个确定的常数
和A,现在我们分别考虑变量
(这个变量反映了函数自变量和一个确定的点之间的距离)和
(显然这是一个反映函数数值变化的,随着x而发生变化的距离变量。),如果我们任意找到一个数
,无论它的数值有多么大或者多么小,我们总是能够找到一个相应的数
,使得变量
满足
![]()
时,都使得相应的变量
的数值小于
,换一句话来说,就是,对于任意的
,总是存在一个
,使得当
![]()
时,总是有
![]()
成立,这时我们就把A称为函数f(x)在x趋向于x0时的极限。我们使用记号
来表示这点。否则我们就说函数f(x)在x趋向于x0时是发散的。
由于函数变化的连续性,使得函数的极限的概念比数列的极限的概念要显得复杂,因此我们还可以通过图形的方式来加强