这是一组讲义,一共五篇:

  1. 代数变形、极限与导数(本篇)
  2. 积分与它的应用
  3. 线性代数:从解方程讲起
  4. 多元微积分与微分方程
  5. 练习详解:前四篇所有练习的逐步解答,每一步都不跳。

内容覆盖微积分和线性代数里最常用的计算方法。每个方法都会讲:它为什么成立,什么时候会失效,是从什么问题里来的,后面会用在哪里。用到的前置知识,比如三角函数的诱导公式、对数的运算法则、二项式展开,都在第一次用到的地方先讲一遍,零基础也能读下去;已经熟悉的可以直接跳过。

这组讲义怎么读#

每个例子,先遮住过程自己算一遍,卡住了再往下看。

第一遍读的时候,可以只读主线和例题,跳过标题里带“(选读)”的小节和“高观点”框。选读部分是更严格的证明,比如“单调有界的数列为什么一定收敛”“闭区间上的连续函数为什么一定有最大值”。跳过它们不影响后面的计算,但很多“为什么”的最终答案在那里。等计算熟练以后再回来读,会看得更明白。

学一条公式时,可以问自己四个问题:

  1. 它是用来解决什么问题的?
  2. 它为什么成立?
  3. 什么情况下它不成立?
  4. 它和前面学过的哪些东西有关系?

讲义会尽量把这四个问题都回答到。

文中的标注框:

标注 内容
前置知识 用到的基础知识。已经会的可以跳过。
回顾 前面讲过、这里又要用的内容,简单提醒一下它是什么、在哪一节。
为什么 解释一个步骤或一条公式为什么成立,或者“怎么想到的”。
易错 常见错误和容易忽略的条件。
提速 能少算几步的观察或技巧。
想一想 十秒钟能回答的小问题,答案默认折叠。
历史 这个概念是谁、在什么背景下提出的,当时遇到了什么困难。
高观点 从更远的地方看同一件事:它和其他数学分支的联系。第一遍可以跳过。
试一试 练习题。每题都附有第五篇详解的链接,先自己做,再对答案。

历史的顺序和证明的顺序#

教材的顺序是:先有实数,再定义极限,然后讲导数和积分。历史上的顺序几乎是反过来的。人们先学会了算切线和面积,过了一百多年才说清楚“极限”是什么,又过了几十年才严格地构造出实数。所以,“历史”框讲的是一个概念当时是怎么出现的,正文讲的是今天怎么证明它。“历史”框有时会用现代记号转述古人的做法,那只是为了好懂,不代表他们当时就是这样写的。

微积分是被几个具体的问题推着发展起来的。读的时候可以把它们记在心里:

  1. 曲线怎么算? 直线和矩形好算,曲线的切线、曲线下的面积、曲线的长度却需要新方法。
  2. 变化怎么描述? 平均速度好算:路程除以时间。可是“某一瞬间”的速度怎么算?时间间隔是 00 的话,就变成了 00\frac00。
  3. 有没有通用的方法? 古人已经能算出抛物线围成的面积,但每换一条曲线都要重新想办法。能不能有一套对所有曲线都适用的方法?
  4. 无限的过程能怎么算? 有限次加减乘除总是可靠的。可是无限多项相加、取极限、求导,这些操作能不能交换次序?
  5. 数不够用了怎么办? 有理数里找不到 2\sqrt2;初等函数写不出某些函数的原函数。旧的对象不够用时,就要造新的对象。

前两篇会反复回到同一个例子:y=x2y=x^2 的切线和它下面的面积。本篇会算出切线的斜率是 2x2x,下一篇会算出它在 [0,1][0,1] 上围出的面积是 13\frac13。读完两篇,你应该能说清楚这两个结果各自依赖什么、为什么互相联系。

本篇的几样主要工具,在第二篇里会继续这样使用:

本篇的工具 第二篇里的用处
导数、微分、等价无穷小、泰勒展开 估计每一小块的近似误差,保证误差加起来仍然趋于 00;估计数值积分的误差
共轭、对数、反函数、参数方程 换元积分,利用对称性简化积分
实数的完备性、中值定理 证明定积分存在,证明牛顿—莱布尼茨公式
线性近似、链式法则、高阶导数 积分的线性性质,分部积分

开始之前:函数、区间与极限#

这一节把后面反复使用的几个最基本的概念讲清楚。

函数与定义域#

函数是一条规则:给它一个输入 xx,它给出唯一一个输出,记作 f(x)f(x)。比如 f(x)=x2f(x)=x^2 这条规则把 33 变成 99,写成 f(3)=9f(3)=9。

不是所有输入都允许。1x\frac{1}{x} 不能取 x=0x=0,因为不能除以零;x\sqrt{x} 在实数范围内要求 x≥0x\ge 0;ln⁡x\ln x(第二节会讲)要求 x>0x>0。允许的输入全体叫定义域。

函数的四种基本性质#

后面会反复用到下面四个词。

  • 有界:如果能找到一个常数 M>0M>0,使得在所讨论的范围内始终 ∣f(x)∣≤M\lvert f(x)\rvert\le M(∣ ∣\lvert\ \rvert 是绝对值,[−1,1][-1,1] 这样的区间记号,都在下面两小节解释),就说 ff 有界。比如 ∣sin⁡x∣≤1\lvert\sin x\rvert\le1,所以 sin⁡x\sin x 有界。sin⁡1x\sin\frac1x 在 xx 靠近 00 时来回摆得越来越快,但不管括号里是什么数,正弦值总在 −1-1 和 11 之间,所以 ∣sin⁡1x∣≤1\left\lvert\sin\frac1x\right\rvert\le1,同样有界。x2x^2 在全体实数上无界:不管拿多大的数 MM 当上限,xx 取得足够大(往正方向或往负方向都行,比如 (−1000)2=1000000(-1000)^2=1000000),x2x^2 都会超过它。但在 [−1,1][-1,1] 上 x2x^2 有界,取 M=1M=1 就行。注意:“有界”不等于“是常数”,也不等于“有极限”。比如 x→+∞x\to+\infty 时,sin⁡x\sin x 始终在 −1-1 和 11 之间,是有界的,可它一直在上下摆动,不靠近任何一个数,没有极限。
  • 单调:在某个区间上,如果 x1<x2x_1<x_2 时总有 f(x1)<f(x2)f(x_1)<f(x_2)(xx 越大,f(x)f(x) 越大),叫严格单调递增;如果只保证 f(x1)≤f(x2)f(x_1)\le f(x_2)(允许有一段持平),叫单调不减。递减的情况反过来:x1<x2x_1<x_2 时总有 f(x1)>f(x2)f(x_1)>f(x_2),叫严格单调递减;只保证 f(x1)≥f(x2)f(x_1)\ge f(x_2),叫单调不增。不同的书对“单调递增”这个词的用法不一样,有的指严格的,有的允许相等。本讲义说“递增”时指严格递增,允许相等时会明确说“单调不减”。
  • 奇偶性:如果对定义域内所有 xx 都有 f(−x)=f(x)f(-x)=f(x),ff 叫偶函数,图像关于 yy 轴对称,比如 x2x^2、cos⁡x\cos x。如果 f(−x)=−f(x)f(-x)=-f(x),ff 叫奇函数,图像关于原点对称,比如 x3x^3、sin⁡x\sin x。谈奇偶性的前提是定义域关于原点对称:xx 在定义域里,−x-x 也要在。
  • 周期性:如果有常数 T>0T>0,使 f(x+T)=f(x)f(x+T)=f(x) 对所有 xx 成立,ff 叫周期函数,TT 叫它的一个周期。比如 sin⁡x\sin x 的周期是 2π2\pi。所有周期中如果有最小的一个,就叫最小正周期。不是每个周期函数都有最小正周期。比如常数函数 f(x)=5f(x)=5:不管输入什么,输出都是 55,所以对任何正数 TT 都有 f(x+T)=5=f(x)f(x+T)=5=f(x),每个正数都是它的周期。而正数里没有最小的:假如 TT 是最小的正数,那么 T2\frac T2 也是正数,却比 TT 小,矛盾。

区间记号#

记号 含义
(a,b)(a,b) a<x<ba<x<b,两端都不含(开区间)
[a,b][a,b] a≤x≤ba\le x\le b,两端都含(闭区间)
[a,b)[a,b) a≤x<ba\le x<b
(a,+∞)(a,+\infty) x>ax>a
(−∞,+∞)(-\infty,+\infty) 全体实数

∞\infty 读作“无穷”,它不是一个数,只表示“没有上界”或“没有下界”,所以无穷那一端总是用圆括号。

绝对值#

∣x∣={x,x≥0−x,x<0\lvert x\rvert=\begin{cases} x, & x\ge 0\\ -x, & x<0\end{cases}

比如 ∣3∣=3\lvert 3\rvert=3,∣−3∣=−(−3)=3\lvert -3\rvert=-(-3)=3。几何上,∣x∣\lvert x\rvert 是数轴上 xx 到 00 的距离,∣a−b∣\lvert a-b\rvert 是 aa 与 bb 两点之间的距离。所以 ∣x−1∣<0.1\lvert x-1\rvert<0.1 的意思就是“xx 离 11 的距离小于 0.10.1”。

去掉绝对值的规则是:对正数 cc,∣X∣<c\lvert X\rvert<c 等价于 −c<X<c-c<X<c。所以 ∣x−1∣<0.1\lvert x-1\rvert<0.1 等价于 −0.1<x−1<0.1-0.1<x-1<0.1,三部分同时加 11,就是 0.9<x<1.10.9<x<1.1。

极限:靠近,但不必到达#

看函数

f(x)=x2−1x−1.f(x)=\frac{x^2-1}{x-1}.

x=1x=1 时分母为 00,f(1)f(1) 没有定义。但我们可以看 xx 靠近 11 时 f(x)f(x) 在做什么:

xx 0.90.9 0.990.99 0.9990.999 1.0011.001 1.011.01 1.11.1
f(x)f(x) 1.91.9 1.991.99 1.9991.999 2.0012.001 2.012.01 2.12.1

xx 从两边越来越靠近 11 时,f(x)f(x) 越来越靠近 22。原因是:由平方差公式,分子 x2−1=(x−1)(x+1)x^2-1=(x-1)(x+1),所以 f(x)=(x−1)(x+1)x−1f(x)=\frac{(x-1)(x+1)}{x-1}。约掉 x−1x-1 要求它不等于 00,也就是 x≠1x\ne1;而我们看的正是 xx 靠近 11 但不等于 11 的情况,所以可以约分,得到 f(x)=x+1f(x)=x+1(x≠1x\ne1)。也就是说,除了 x=1x=1 这一点没有定义,ff 的图像和直线 y=x+1y=x+1 完全一样。xx 靠近 11 时,直线上的点的高度 x+1x+1 靠近 1+1=21+1=2。第一节会细讲这种约分。我们把这件事写成

lim⁡x→1x2−1x−1=2,\lim_{x\to 1}\frac{x^2-1}{x-1}=2,

读作“当 xx 趋近 11 时,f(x)f(x) 的极限是 22”。lim⁡\lim 是拉丁文 limes(界限)的缩写。

xy12Oy = (x2 − 1)/(x − 1)x = 1 处没有定义 图 1:图像是直线 y = x + 1 挖去点 (1, 2)。极限只关心这个洞的周围,不关心洞本身。

关于极限,有三点要记住。

  1. xx 靠近 aa,但不等于 aa。 极限只关心 aa 附近的函数值。f(a)f(a) 有没有定义、等于多少,都不影响极限。上面的例子里,f(1)f(1) 根本没有定义,极限照样是 22。
  2. 两边都要靠近。 数轴上比 aa 大的数在 aa 的右边。xx 只从右边靠近 aa(也就是 x>ax>a),记作 x→a+x\to a^+(右上角的“++”提醒 xx 比 aa 大一点),得到的极限叫右极限,写作 lim⁡x→a+f(x)\lim\limits_{x\to a^+}f(x);只从左边靠近(x<ax<a),记作 x→a−x\to a^-,得到**左极限** lim⁡x→a−f(x)\lim\limits_{x\to a^-}f(x)。极限存在,当且仅当左右极限都存在而且相等。比如 f(x)=∣x∣xf(x)=\frac{\lvert x\rvert}{x} 在 00 附近:x>0x>0 时 ∣x∣=x\lvert x\rvert=x,f(x)=1f(x)=1,右极限是 11;x<0x<0 时 ∣x∣=−x\lvert x\rvert=-x,f(x)=−1f(x)=-1,左极限是 −1-1。两边靠近的目标不同,所以 x→0x\to0 时它没有极限。
  3. 趋于无穷。 x→+∞x\to+\infty 表示 xx 无限增大,x→−∞x\to-\infty 表示 xx 往负方向无限减小。比如 x→+∞x\to+\infty 时 1x→0\frac{1}{x}\to 0。如果 f(x)f(x) 本身无限增大,我们写 f(x)→+∞f(x)\to+\infty。这时 f(x)f(x) 没有一个有限的极限值,但“趋于 +∞+\infty”仍然说清楚了它的去向,有时也叫“无穷极限”。要把它和另一种情况分开:函数忽正忽负、来回振荡,振幅越来越大。比如 x→+∞x\to+\infty 时的 xsin⁡xx\sin x:在 x=π2+2kπx=\frac\pi2+2k\pi 处 sin⁡x=1\sin x=1,函数值是很大的正数;在 x=3π2+2kπx=\frac{3\pi}2+2k\pi 处 sin⁡x=−1\sin x=-1,函数值又是很大的负数。“f(x)→+∞f(x)\to+\infty”要求函数值最终一直待在任何给定的数之上,不再掉下来;xsin⁡xx\sin x 不停地掉到很负的地方,所以连“趋于 +∞+\infty”也说不上。

极限的严格定义(选读)#

上面说“xx 越来越靠近 aa,f(x)f(x) 越来越靠近 LL”。“越来越靠近”是一种直觉,没法拿来证明东西。这一小节把它说精确。读懂它,后面很多“为什么”都能落到实处;暂时跳过,也不影响计算。

先看一个例子。 我们相信 x→1x\to1 时 2x+1→32x+1\to3。怎样说明这件事?

设想有人向你提要求:“我要 2x+12x+1 和 33 的差小于 0.010.01。xx 离 11 要多近才够?”你算一下:

∣(2x+1)−3∣=∣2x−2∣=2∣x−1∣.\lvert(2x+1)-3\rvert=\lvert2x-2\rvert=2\lvert x-1\rvert.

要让它小于 0.010.01,只要 ∣x−1∣<0.005\lvert x-1\rvert<0.005。所以你回答:“xx 离 11 不超过 0.0050.005 就够了。”验证一下:x=1.004x=1.004 时 2x+1=3.0082x+1=3.008,和 33 差 0.0080.008,确实小于 0.010.01。

对方又说:“这次我要差小于 0.00010.0001。”你回答:“xx 离 11 不超过 0.000050.00005 就够了。”不管对方的要求多严,你都能给出一个足够近的范围,并且这个范围对其中所有的 xx 都有效。这就是“极限是 33”的确切含义。

一般地,记误差要求为 ε\varepsilon(希腊字母,读作 epsilon),范围为 δ\delta(读作 delta)。上面的例子里,对任意 ε\varepsilon,取 δ=ε2\delta=\frac\varepsilon2 就行:∣x−1∣<ε2\lvert x-1\rvert<\frac\varepsilon2 时,∣(2x+1)−3∣=2∣x−1∣<ε\lvert(2x+1)-3\rvert=2\lvert x-1\rvert<\varepsilon。

定义 lim⁡x→af(x)=L\lim\limits_{x\to a}f(x)=L 的意思是:对于任意给定的 ε>0\varepsilon>0,都能找到一个 δ>0\delta>0,使得只要 0<∣x−a∣<δ0<\lvert x-a\rvert<\delta(并且 xx 在定义域内),就有 ∣f(x)−L∣<ε\lvert f(x)-L\rvert<\varepsilon。

几个细节:

  • 0<∣x−a∣0<\lvert x-a\rvert 就是 x≠ax\ne a 的写法:∣x−a∣\lvert x-a\rvert 是 xx 到 aa 的距离,距离总是 ≥0\ge0,只有 x=ax=a 时才等于 00。要求它 >0>0,就是把 x=ax=a 这一点排除掉。所以 0<∣x−a∣<δ0<\lvert x-a\rvert<\delta 同时说了两件事:xx 离 aa 不到 δ\delta,而且 x≠ax\ne a。这和前面说的“只看 aa 附近,不看 aa 本身”一致。
  • 数学里常用两个符号缩写这句话:∀\forall(把字母 A 倒过来,取自英文 All)读作“对所有”,∃\exists(把字母 E 反过来,取自 Exist)读作“存在”。定义写成
∀ε>0, ∃δ>0, ∀x (x 在定义域内):0<∣x−a∣<δ ⟹ ∣f(x)−L∣<ε.\forall\varepsilon>0,\ \exists\delta>0,\ \forall x\ (x\text{ 在定义域内}):\quad 0<\lvert x-a\rvert<\delta\ \Longrightarrow\ \lvert f(x)-L\rvert<\varepsilon.

⟹\Longrightarrow 读作“推出”:左边成立,右边就成立。逐段对照着读:“∀ε>0\forall\varepsilon>0”,对任意给定的误差 ε\varepsilon;“∃δ>0\exists\delta>0”,都能找到一个范围 δ\delta;“∀x\forall x:”,使得对所有的 xx,冒号后面那句话成立;“0<∣x−a∣<δ⟹∣f(x)−L∣<ε0<\lvert x-a\rvert<\delta\Longrightarrow\lvert f(x)-L\rvert<\varepsilon”,只要 xx 离 aa 不到 δ\delta(且 x≠ax\ne a),函数值离 LL 就不到 ε\varepsilon。

  • 顺序不能换。 先由对方给出 ε\varepsilon,你再选 δ\delta,最后这个 δ\delta 要对范围里的所有 xx 都管用。δ\delta 可以依赖于 ε\varepsilon(要求越严,范围越小),但不能看到某个具体的 xx 以后再改。
  • 还要求 aa 附近真的有定义域里的点可以检查。定义要我们检查 0<∣x−a∣<δ0<\lvert x-a\rvert<\delta 里的 xx;如果这个范围里一个能代进函数的 xx 都没有,就无从检查。比如 f(x)=xf(x)=\sqrt x 只在 x≥0x\ge0 上有定义:在 a=−5a=-5 附近(比如 −6-6 到 −4-4 之间)一个能代入的点都没有,谈不上极限;在 a=0a=0 处,左边没有能代入的点,只能从右边靠近,所以只能谈右极限,lim⁡x→0+x=0\lim\limits_{x\to0^+}\sqrt x=0。

稍难一点的例子:证明 x→2x\to2 时 x2→4x^2\to4。

先把误差写出来,并因式分解:

∣x2−4∣=∣x−2∣⋅∣x+2∣.\lvert x^2-4\rvert=\lvert x-2\rvert\cdot\lvert x+2\rvert.

第一个因子 ∣x−2∣\lvert x-2\rvert 正是我们能控制的。麻烦在第二个因子 ∣x+2∣\lvert x+2\rvert:它随 xx 变化,不是常数。办法是先把 xx 限制在 22 附近一个固定的范围里,让 ∣x+2∣\lvert x+2\rvert 有一个上限。

这个固定范围多宽都行,挑一个好算的:先规定 ∣x−2∣<1\lvert x-2\rvert<1,即 xx 离 22 不到 11。去掉绝对值,就是 −1<x−2<1-1<x-2<1;三边都加 22,得 1<x<31<x<3;三边再都加 22,得 3<x+2<53<x+2<5。x+2x+2 在 33 和 55 之间,是正数,所以 ∣x+2∣=x+2<5\lvert x+2\rvert=x+2<5。

把它代回误差的式子。x≠2x\ne2 时 ∣x−2∣\lvert x-2\rvert 是正数,不等式 ∣x+2∣<5\lvert x+2\rvert<5 两边乘这个正数,方向不变:

∣x2−4∣=∣x−2∣⋅∣x+2∣<5∣x−2∣.\lvert x^2-4\rvert=\lvert x-2\rvert\cdot\lvert x+2\rvert<5\lvert x-2\rvert.

会变的系数 ∣x+2∣\lvert x+2\rvert 就换成了常数 55。

要让它小于 ε\varepsilon,只要 5∣x−2∣<ε5\lvert x-2\rvert<\varepsilon,即再要求 ∣x−2∣<ε5\lvert x-2\rvert<\frac\varepsilon5。现在对 ∣x−2∣\lvert x-2\rvert 有两个要求:小于 11(为了让 ∣x+2∣<5\lvert x+2\rvert<5),小于 ε5\frac\varepsilon5(为了让误差小于 ε\varepsilon)。要两个同时满足,就取较小的那个:

δ=min⁡{1, ε5}.\delta=\min\left\{1,\ \frac\varepsilon5\right\}.

(min⁡{⋯ }\min\{\cdots\} 表示括号里最小的那个数。)δ\delta 既不超过 11,也不超过 ε5\frac\varepsilon5。所以只要 0<∣x−2∣<δ0<\lvert x-2\rvert<\delta,就同时有 ∣x−2∣<1\lvert x-2\rvert<1(于是 ∣x+2∣<5\lvert x+2\rvert<5)和 ∣x−2∣<ε5\lvert x-2\rvert<\frac\varepsilon5,串起来:

∣x2−4∣=∣x+2∣⋅∣x−2∣<5∣x−2∣<5⋅ε5=ε.\lvert x^2-4\rvert=\lvert x+2\rvert\cdot\lvert x-2\rvert<5\lvert x-2\rvert<5\cdot\frac\varepsilon5=\varepsilon.

用具体的数走一遍。对方要求误差小于 ε=0.1\varepsilon=0.1:ε5=0.02\frac\varepsilon5=0.02,δ=min⁡{1, 0.02}=0.02\delta=\min\{1,\ 0.02\}=0.02。取范围里的一点,比如 x=2.01x=2.01(离 22 只有 0.010.01):x2=4.0401x^2=4.0401,和 44 差 0.04010.0401,确实小于 0.10.1。

这个例子里有一个常用的套路:先用一个粗的范围把会变的系数控制住,再根据误差要求把范围缩小。 δ\delta 不必是“最大的那个”,只要能保证结论就行。

怎样证明极限不是 LL? 定义说的是:对方提出任何误差要求,我们都能给出一个范围,范围里所有的 xx 都达标。要推翻它,只要做到:找出某一个误差要求 ε0\varepsilon_0,使得不管范围 δ\delta 取多小,范围里总有一个 xx 不达标,即 ∣f(x)−L∣≥ε0\lvert f(x)-L\rvert\ge\varepsilon_0。“任何”变成“某一个”,“所有都达标”变成“总有一个不达标”。

例 证明 x→1x\to1 时 2x2x 的极限不是 55。取 ε0=1\varepsilon_0=1。不管 δ\delta 多小(不妨设 δ<1\delta<1),在范围里取 x=1+δ2x=1+\frac\delta2,则 2x=2+δ2x=2+\delta,离 55 的距离是 ∣(2+δ)−5∣=3−δ>2≥1\lvert(2+\delta)-5\rvert=3-\delta>2\ge1。范围里总有不达标的点,所以极限不是 55。

第三节会用两串不同的数列证明 sin⁡1x\sin\frac1x 在 00 处没有极限,做的也是这件事。

极限的四则运算#

极限的三条基本性质#

下面三条后面会经常用到,尤其是第三条。设 lim⁡x→af(x)=A\lim\limits_{x\to a}f(x)=A 存在。

  1. 唯一性:极限如果存在,只有一个。
  2. 局部有界性:在 aa 附近(不含 aa),ff 有界。
  3. 局部保号性:如果 A>0A>0,那么在 aa 附近(不含 aa),f(x)>0f(x)>0;如果 A<0A<0,那么在 aa 附近 f(x)<0f(x)<0。

下面逐条说明理由。三条用的是同一个办法:在极限的定义里挑一个合适的误差 ε\varepsilon。

唯一性。 假设 f(x)f(x) 同时以两个不同的数 AA、BB 为极限,比如 A=1A=1,B=3B=3。取误差 0.50.5:xx 足够靠近 aa 时,f(x)f(x) 既要离 11 不到 0.50.5(在 0.50.5 和 1.51.5 之间),又要离 33 不到 0.50.5(在 2.52.5 和 3.53.5 之间)。这两段不重叠,一个数不可能同时在两段里,矛盾。一般地,A≠BA\ne B 时取误差为它们距离的一半,ε=∣A−B∣2\varepsilon=\frac{\lvert A-B\rvert}2,以 AA、BB 为中心、半径 ε\varepsilon 的两段就不重叠,同样矛盾。所以 A=BA=B。

局部有界性。 回顾“有界”:有一个常数 MM,使 ∣f(x)∣≤M\lvert f(x)\rvert\le M。极限的定义对任何误差都成立,就取 ε=1\varepsilon=1:xx 足够靠近 aa 时 ∣f(x)−A∣<1\lvert f(x)-A\rvert<1,即 A−1<f(x)<A+1A-1<f(x)<A+1。取 M=∣A∣+1M=\lvert A\rvert+1,就有 ∣f(x)∣≤M\lvert f(x)\rvert\le M。比如 A=3A=3 时 f(x)f(x) 在 22 和 44 之间,M=4M=4;A=−3A=-3 时 f(x)f(x) 在 −4-4 和 −2-2 之间,也是 M=4M=4。

局部保号性。 设 A>0A>0。AA 到 00 的距离是 AA;把误差取成这段距离的一半,ε=A2\varepsilon=\frac A2。比如 A=4A=4,误差取 22,f(x)f(x) 最低也只能掉到 4−2=24-2=2,掉不到 00。用式子写:xx 足够靠近 aa 时 ∣f(x)−A∣<A2\lvert f(x)-A\rvert<\frac A2,即 −A2<f(x)−A<A2-\frac A2<f(x)-A<\frac A2,三边加 AA,得 A2<f(x)<3A2\frac A2<f(x)<\frac{3A}2,所以 f(x)>A2>0f(x)>\frac A2>0。A<0A<0 时,误差必须是正数,取 ε=−A2\varepsilon=-\frac A2(比如 A=−4A=-4 时取 22),同样的计算得到 f(x)<A2<0f(x)<\frac A2<0。

保号性反过来用,是一个常用的推论:如果在 aa 附近 f(x)≥0f(x)\ge0,并且极限存在,那么极限 A≥0A\ge0。理由(反证法):假设 A<0A<0;由保号性,aa 附近 f(x)<0f(x)<0;可已知条件说 aa 附近 f(x)≥0f(x)\ge0,同一个 f(x)f(x) 不能既 <0<0 又 ≥0\ge0,矛盾。所以 A≥0A\ge0。注意这里只能得到 A≥0A\ge0,不能得到 A>0A>0:f(x)=x2f(x)=x^2 在 00 附近(不含 00)大于 00,极限却是 00。

保号性的用处是:知道极限的正负,就知道函数在这一点附近的正负。第十节用导数判断极值时,就会用到它。

连续:可以直接代入#

如果 lim⁡x→af(x)=f(a)\lim\limits_{x\to a}f(x)=f(a),就说 ff 在 aa 处连续。这句话包含三件事:f(a)f(a) 有定义;极限存在;两者相等。直观上,图像在这一点没有断开,没有跳跃,也没有洞。

多项式、sin⁡x\sin x、cos⁡x\cos x、exe^x、ln⁡x\ln x(这两个第二节会讲)、x\sqrt{x} 这些基本函数,以及由它们经过加减乘除和“函数套函数”组合出来的函数(统称初等函数),在定义域内都是连续的。所以:

求初等函数的极限,第一步是尝试直接代入。只要在这一点函数是连续的,代入后的式子又有意义(比如分母不为 00),代入的结果就是答案。分段函数在分段点处是否连续还不知道,不能只凭这一点的函数值下结论。

只有代入后出现 00\frac{0}{0}、∞∞\frac{\infty}{\infty} 这类“看不出结果”的形式,才需要后面的各种技巧。

间断点:不连续的几种方式#

ff 在 aa 处不连续,就说 aa 是间断点。按左右极限的情况分类:

类型 左右极限 例子
可去间断点 都存在且相等,但不等于 f(a)f(a),或 f(a)f(a) 无定义 x2−1x−1\dfrac{x^2-1}{x-1} 在 x=1x=1;sin⁡xx\dfrac{\sin x}{x} 在 x=0x=0(极限是 11,第三节证明)
跳跃间断点 都存在,但不相等 符号函数在 00(见表下)
无穷间断点 至少一侧趋于无穷 1x\dfrac1x 在 x=0x=0
振荡间断点 函数在附近不停振荡,没有极限 sin⁡1x\sin\dfrac1x 在 x=0x=0

表中的符号函数是

sgn⁡x={1,x>0,0,x=0,−1,x<0.\operatorname{sgn}x=\begin{cases}1,&x>0,\\0,&x=0,\\-1,&x<0.\end{cases}

它在 00 的右边恒为 11,左边恒为 −1-1,所以右极限是 11,左极限是 −1-1,两者不相等。

前两种左右极限都存在,合称第一类间断点;后两种合称第二类间断点。“可去”的意思是:只要把 f(a)f(a) 重新定义成那个极限值,函数在这一点就连续了。比如表里第一个例子 x2−1x−1\frac{x^2-1}{x-1}:前面算过,x≠1x\ne1 时它等于 x+1x+1,图像是直线 y=x+1y=x+1 在 x=1x=1 处缺一个点(图 1),x→1x\to1 时的极限是 1+1=21+1=2。如果补充规定 f(1)=2f(1)=2,就把点 (1,2)(1,2) 补上了,得到完整的直线,函数在 x=1x=1 处连续。

闭区间上连续函数的三个性质#

先说清楚“最大值”的意思。如果区间里有一点 x0x_0,区间里每一点的函数值都不超过 f(x0)f(x_0),即 f(x)≤f(x0)f(x)\le f(x_0),就说 f(x0)f(x_0) 是 ff 在这个区间上的最大值,并说 ff 在 x0x_0 处取到最大值。把“不超过”换成“不小于”,就是最小值。两者合称最值。在图像上,最大值就是区间上最高的那个点的高度,最小值是最低的那个点的高度。

若 ff 在闭区间 [a,b][a,b] 上连续,则有下面三条:

  1. 最值定理:ff 在 [a,b][a,b] 上一定能取到最大值和最小值。也就是说,图像在这一段上一定有一个最高点和一个最低点。比如 f(x)=x2f(x)=x^2 在 [−1,2][-1,2] 上:最高点在 x=2x=2,最大值是 44;最低点在 x=0x=0,最小值是 00。既然所有函数值都夹在最小值和最大值之间,ff 也就有界(这个例子里 ∣x2∣≤4\lvert x^2\rvert\le4)。
  2. 介值定理:ff 能取到最小值与最大值之间的每一个值。比如上面的 x2x^2 在 [−1,2][-1,2] 上,00 和 44 之间的任何数,比如 2.52.5,都能取到:x=2.5≈1.58x=\sqrt{2.5}\approx1.58 在区间里,x2=2.5x^2=2.5。
  3. 零点定理:若 f(a)f(a) 与 f(b)f(b) 一正一负,则在 (a,b)(a,b) 内至少有一点 ξ\xi 使 f(ξ)=0f(\xi)=0。(ξ\xi 是希腊字母,读作 xi。)它是介值定理的特殊情形:00 夹在一正一负的两个函数值之间。

直观上,一笔画下来、中间不断开的曲线,从 xx 轴下方走到上方,一定会穿过 xx 轴。

例 方程 x3+x−1=0x^3+x-1=0 在 (0,1)(0,1) 内有根。令 f(x)=x3+x−1f(x)=x^3+x-1,f(0)=−1<0f(0)=-1<0,f(1)=1>0f(1)=1>0。ff 是多项式,处处连续,由零点定理,(0,1)(0,1) 内有一点使 f=0f=0。

闭区间上的连续函数还有第四个性质,叫一致连续:对任意 ε>0\varepsilon>0,能找到一个对整个区间通用的 δ\delta,使任意两点只要距离小于 δ\delta,函数值之差就小于 ε\varepsilon。它的确切含义和证明放在第二篇“开始之前”的选读部分,那里要用它证明连续函数一定可以积分。

完备性:为什么这三个性质成立(选读)#

“实数轴没有空隙”这句话太模糊,没法拿来证明。这一小节先把它说成一个可以用的原则,再用它证明单调有界定理、零点定理和最值定理。这三个定理后面都会用到:单调有界定理在第三节求数列极限时用,最值定理在第五节证明罗尔定理时用,零点定理和最值定理在第十节分析函数图像时用。

数列。 数列是一串按顺序排好的数 a1,a2,a3,…a_1,a_2,a_3,\dots,下标 nn 表示“第几项”。an→La_n\to L(读作“ana_n 收敛到 LL”)的意思,和函数极限一样:对任意 ε>0\varepsilon>0,都存在一个编号 NN,从第 NN 项起,所有的项都满足 ∣an−L∣<ε\lvert a_n-L\rvert<\varepsilon。如果 an+1≥ana_{n+1}\ge a_n 对所有 nn 成立,就说数列单调不减;如果 an+1≤ana_{n+1}\le a_n 对所有 nn 成立,就说单调不增。

上界与上确界。 设 AA 是一个由实数组成的集合。如果某个数 MM 不小于 AA 中的每一个数,MM 就叫 AA 的一个上界。

比如 A={1−1n:n=1,2,3,… }={0,12,23,34,… }A=\left\{1-\frac1n:n=1,2,3,\dots\right\}=\left\{0,\frac12,\frac23,\frac34,\dots\right\}。11 是它的上界,22、100100 也都是。上界有无穷多个,其中最小的一个是 11:任何比 11 小的数,比如 0.9990.999,都会被 AA 中的某一项超过(1−12000=0.9995>0.9991-\frac1{2000}=0.9995>0.999)。这个最小的上界叫上确界,记作 sup⁡A\sup A(sup 是拉丁文 supremum,“最高”)。注意 11 本身不在 AA 里。上确界不一定属于这个集合,开区间 (0,1)(0,1) 也是这样:上确界是 11,但区间里没有最大的数。

确界原理 实数集合只要非空、有上界,就一定有上确界,而且上确界是一个实数。

这就是“实数没有空隙”的精确说法。在有理数里它不成立:集合 {x 是有理数:x2<2}\{x\text{ 是有理数}:x^2<2\} 有上界(比如 22),可在有理数里找不到最小的上界,因为那个位置上本该是 2\sqrt2。

上确界 L=sup⁡AL=\sup A 有两条性质,后面的证明全靠它们:

  1. LL 是上界:AA 中每个数都 ≤L\le L;
  2. 比 LL 小一点就不再是上界:对任意 ε>0\varepsilon>0,AA 中总有某个数 >L−ε>L-\varepsilon。

第一个应用:单调有界定理。 先说它的内容:一个数列如果一直不减小(每一项都不小于前一项),又永远不超过某个固定的数,那么它一定有极限。比如 1−1n1-\frac1n:0, 12, 23, 34,…0,\ \frac12,\ \frac23,\ \frac34,\dots,一直在增大,又都小于 11,它的极限是 11。直观上,一路往上走,又越不过一块天花板,就只能越来越挤向某个值。下面证明它。

设 ana_n 单调不减,且有上界。取 L=sup⁡{a1,a2,a3,… }L=\sup\{a_1,a_2,a_3,\dots\},由确界原理它存在。下面证明 an→La_n\to L。

任给 ε>0\varepsilon>0。把数列的所有项看成一个集合 {a1,a2,a3,… }\{a_1,a_2,a_3,\dots\},LL 是它的上确界。由上确界的性质 2,这个集合里有某个数大于 L−εL-\varepsilon;集合里的数都是数列的项,所以有某一项,记作 aNa_N,满足 aN>L−εa_N>L-\varepsilon。数列单调不减,所以从第 NN 项起,后面的项只会更大:an≥aNa_n\ge a_N。又由上确界的性质 1,每一项都 ≤L\le L。合起来,n≥Nn\ge N 时

L−ε<aN≤an≤L.L-\varepsilon<a_N\le a_n\le L.

三边都减去 LL:−ε<an−L≤0<ε-\varepsilon<a_n-L\le0<\varepsilon,也就是 ∣an−L∣<ε\lvert a_n-L\rvert<\varepsilon。从第 NN 项起都满足这一条,这正是数列收敛的定义。证明里我们没有去“猜” LL 是多少,而是用确界原理保证了这个数存在。

单调不增、有下界的数列也收敛。设 ana_n 单调不增(an+1≤ana_{n+1}\le a_n),有下界 mm(an≥ma_n\ge m)。令 bn=−anb_n=-a_n。不等式两边乘 −1-1 要变号:an+1≤ana_{n+1}\le a_n 变成 bn+1≥bnb_{n+1}\ge b_n,所以 bnb_n 单调不减;an≥ma_n\ge m 变成 bn≤−mb_n\le-m,所以 −m-m 是 bnb_n 的上界。由刚才的结论,bnb_n 收敛到某个数 L′L'。于是 an=−bn→−L′a_n=-b_n\to-L',ana_n 也收敛。

第二个应用:零点定理与二分法。 回顾要证的结论(本节“闭区间上连续函数的三个性质”第 3 条):连续函数在一个端点处为负、另一个端点处为正,中间一定有一点函数值恰好是 00。下面不但证明它,还给出一个找这个点的办法。

设 ff 在 [a,b][a,b] 上连续,f(a)<0<f(b)f(a)<0<f(b)。取中点 m=a+b2m=\frac{a+b}2:

  • 如果 f(m)=0f(m)=0,找到了;
  • 如果 f(m)>0f(m)>0,根就在左半段 [a,m][a,m] 里(左端负、右端正);
  • 如果 f(m)<0f(m)<0,根就在右半段 [m,b][m,b] 里。

保留两端异号的那一半,再取中点,一直做下去。这叫二分法。用它找 x2−2=0x^2-2=0 在 [1,2][1,2] 中的根:

步 区间 中点 mm m2−2m^2-2 保留
1 [1,2][1,2] 1.51.5 0.25>00.25>0 [1,1.5][1,1.5]
2 [1,1.5][1,1.5] 1.251.25 −0.4375<0-0.4375<0 [1.25,1.5][1.25,1.5]
3 [1.25,1.5][1.25,1.5] 1.3751.375 −0.109<0-0.109<0 [1.375,1.5][1.375,1.5]
4 [1.375,1.5][1.375,1.5] 1.43751.4375 0.0664>00.0664>0 [1.375,1.4375][1.375,1.4375]

区间在一步步缩小,把 2≈1.41421\sqrt2\approx1.41421 包在里面。

为什么这样一定能找到根?把开始的区间记作 [a0,b0]=[a,b][a_0,b_0]=[a,b],第 nn 步保留下来的区间(表中最后一列)记作 [an,bn][a_n,b_n]。比如上表中 [a1,b1]=[1,1.5][a_1,b_1]=[1,1.5],[a2,b2]=[1.25,1.5][a_2,b_2]=[1.25,1.5]。每一步长度减半,所以 bn−an=b−a2nb_n-a_n=\frac{b-a}{2^n}。

  • 左端点 ana_n 单调不减(只会往右挪),并且不超过 bb,有上界,所以由单调有界定理,ana_n 收敛到某个数 cc;
  • 右端点 bn=an+b−a2nb_n=a_n+\frac{b-a}{2^n},两项分别趋于 cc 和 00,由极限的四则运算,bnb_n 也趋于 cc。

现在说明 f(c)=0f(c)=0。每一步都有 f(an)<0f(a_n)<0、f(bn)>0f(b_n)>0。

先证 f(c)≤0f(c)\le0,用反证法。假设 f(c)>0f(c)>0。ff 在 cc 处连续,即 lim⁡x→cf(x)=f(c)>0\lim\limits_{x\to c}f(x)=f(c)>0,由局部保号性,cc 附近的 xx 都有 f(x)>0f(x)>0。而 an→ca_n\to c,nn 足够大时 ana_n 就落在 cc 附近,于是 f(an)>0f(a_n)>0。这和每一步都有 f(an)<0f(a_n)<0 矛盾。所以 f(c)≤0f(c)\le0。

同样,假设 f(c)<0f(c)<0,cc 附近都有 f(x)<0f(x)<0,nn 足够大时 f(bn)<0f(b_n)<0,和 f(bn)>0f(b_n)>0 矛盾。所以 f(c)≥0f(c)\ge0。

既不大于 00 也不小于 00,只能 f(c)=0f(c)=0:二分法收缩到的点 cc 就是根。

介值定理也由此得到,分两步。

第一步,端点之间的值都能取到。设 ff 在 [a,b][a,b] 上连续,uu 是介于 f(a)f(a) 和 f(b)f(b) 之间的数,要找一点 cc 使 f(c)=uf(c)=u,也就是 f(c)−u=0f(c)-u=0。所以令 g(x)=f(x)−ug(x)=f(x)-u,把“取到 uu”变成“gg 有零点”。gg 是 ff 的图像整体上下平移,仍然连续。比如 f(a)<u<f(b)f(a)<u<f(b),各减去 uu,得 g(a)<0<g(b)g(a)<0<g(b),一负一正(f(a)>f(b)f(a)>f(b) 时反过来,也是一正一负;uu 等于某个端点值时,那个端点就是要找的点)。由零点定理,有一点 cc 使 g(c)=0g(c)=0,即 f(c)=uf(c)=u。

第二步,最小值和最大值之间的值都能取到。端点处的值不一定是最大、最小值(比如一座山,两端在山脚,最高处在中间)。由最值定理(下面马上证明),ff 在某点 x1x_1 取到最小值 mm,在某点 x2x_2 取到最大值 MM。把 x1x_1、x2x_2 当作一个新区间的两端(谁在左边谁就是左端点)。ff 在这个小区间上也连续,两端的函数值正好是 mm 和 MM,对它用第一步,mm 和 MM 之间的每一个值都能取到。

二分法本身也是一个实用的算法。取第 nn 个区间的中点作近似值。根在这个区间里,中点在正中间,所以根离中点最多是区间长度的一半:12⋅b−a2n=b−a2n+1\frac12\cdot\frac{b-a}{2^n}=\frac{b-a}{2^{n+1}}。每做一步,误差上限减半。它比第九节要讲的牛顿法慢,但胜在稳:根始终被夹在一个已知的区间里。如果区间里有好几个根,它至少能找到其中一个。

第三个应用:最值定理。 回顾要证的结论(本节“闭区间上连续函数的三个性质”第 1 条):ff 在闭区间 [a,b][a,b] 上连续,那么区间里一定有一点,函数值在那里最大;也一定有一点,函数值在那里最小。比如 x2x^2 在 [−1,2][-1,2] 上,最大值 44 在 x=2x=2 处取到。

这件事要证明,是因为它并不总是成立:f(x)=xf(x)=x 在 [0,1)[0,1) 上,函数值能无限接近 11,却没有一点等于 11,所以没有最大值;1x\frac1x 在 (0,1](0,1] 上越来越大,也没有最大值。下面要说明:区间是闭的、函数是连续的,这两种情况就都不会发生。

证明分两步:先证 ff 有界(函数值不会无限大),再证最大值真的能在某一点取到。证明要用到子列。从数列 x1,x2,x3,…x_1,x_2,x_3,\dots 中挑出无穷多项,保持原来的先后顺序,比如 x2,x5,x9,…x_2,x_5,x_9,\dots,得到的新数列叫原数列的子列,记作 xn1,xn2,xn3,…x_{n_1},x_{n_2},x_{n_3},\dots(下标 n1<n2<n3<⋯n_1<n_2<n_3<\cdots)。子列的第 kk 项是 xnkx_{n_k}:kk 是它在子列里排第几,nkn_k 是它在原数列里排第几。比如挑出 x2,x5,x9,…x_2,x_5,x_9,\dots,那么 n1=2n_1=2,n2=5n_2=5,n3=9n_3=9。编号是严格增加的正整数,所以 n1≥1n_1\ge1,n2≥n1+1≥2n_2\ge n_1+1\ge2,n3≥n2+1≥3n_3\ge n_2+1\ge3……一般地 nk≥kn_k\ge k。于是 k→∞k\to\infty 时 nk→∞n_k\to\infty:子列往后走,挑到的项在原数列里的位置也越来越靠后。

闭区间 [a,b][a,b] 里的任何数列,都有收敛到 [a,b][a,b] 中某一点的子列。

先看它说的是什么。数列 (−1)n(-1)^n,即 −1,1,−1,1,…-1,1,-1,1,\dots,全在 [−1,1][-1,1] 里,它本身来回跳,没有极限;但只挑偶数项 x2,x4,x6,…x_2,x_4,x_6,\dots,得到 1,1,1,…1,1,1,\dots,这个子列收敛到 11。这条事实说的是:闭区间里的数列,不管怎么乱跳,总能挑出一个收敛的子列,并且它收敛到的点还在这个区间里。

证明还是用二分,分三步。

(1)一半一半地缩小区间。 数列有无穷多项 x1,x2,x3,…x_1,x_2,x_3,\dots。把 [a,b][a,b] 对半分成左右两半。无穷多项分到两半里,不可能两半都只有有限多项(有限加有限还是有限),所以至少有一半含有数列的无穷多项。保留这一半,记作 [a1,b1][a_1,b_1],长度 b−a2\frac{b-a}2。(如果两半都含无穷多项,随便保留一半。)再把 [a1,b1][a_1,b_1] 对半分,保留含无穷多项的一半,记作 [a2,b2][a_2,b_2],长度 b−a22\frac{b-a}{2^2}……一直做下去,第 kk 个区间 [ak,bk][a_k,b_k] 长 b−a2k\frac{b-a}{2^k},并且里面始终有数列的无穷多项。

(2)按顺序挑项。 从 [a1,b1][a_1,b_1] 里挑一项,记作 xn1x_{n_1}。从 [a2,b2][a_2,b_2] 里挑一项 xn2x_{n_2},要求编号 n2>n1n_2>n_1:这总能做到,因为 [a2,b2][a_2,b_2] 里有无穷多项,编号大于 n1n_1 的也有无穷多个。依次挑下去,第 kk 个区间里挑出 xnkx_{n_k},编号一个比一个大。这样就得到一个子列。

(3)这个子列收敛。 和二分法里一样:左端点 aka_k 只往右挪、不超过 bb,由单调有界定理收敛到某个数 cc;右端点 bk=ak+b−a2kb_k=a_k+\frac{b-a}{2^k} 也趋于 cc。每个区间都把 cc 夹在里面(ak≤c≤bka_k\le c\le b_k),而且 a≤aka\le a_k,bk≤bb_k\le b,所以 cc 在 [a,b][a,b] 里。挑出的 xnkx_{n_k} 和 cc 都在第 kk 个区间里,两点的距离不超过区间的长度:

∣xnk−c∣≤bk−ak=b−a2k→0.\lvert x_{n_k}-c\rvert\le b_k-a_k=\frac{b-a}{2^k}\to0.

所以子列 xnkx_{n_k} 收敛到 cc,cc 在 [a,b][a,b] 中。

有了它,最值定理分两步证明。

第一步:ff 有界。

先回顾“有界”的意思(本节“函数的四种基本性质”):能找到一个常数 MM,使所有的 xx 都满足 ∣f(x)∣≤M\lvert f(x)\rvert\le M。可以把 MM 想成一块天花板,∣f∣\lvert f\rvert 永远顶不破它。反过来,无界就是:不管拿哪个数当天花板,∣f∣\lvert f\rvert 总会在某个地方顶破它。

先看一个无界的例子。f(x)=1xf(x)=\frac1x 在 (0,1](0,1] 上连续,但无界:

  • 拿 11 当天花板:在 x=12x=\frac12 处,f=2>1f=2>1,顶破了;
  • 拿 22 当天花板:在 x=13x=\frac13 处,f=3>2f=3>2,顶破了;
  • 一般地,拿正整数 nn 当天花板:在 x=1n+1x=\frac1{n+1} 处,f=n+1>nf=n+1>n,顶破了。

把这些顶破天花板的点依次记下来:x1=12x_1=\frac12,x2=13x_2=\frac13,……,xn=1n+1x_n=\frac1{n+1}。它们满足 ∣f(xn)∣>n\lvert f(x_n)\rvert>n,意思是“第 nn 个点处的函数值超过 nn”。这串点越来越靠近 00,函数值越来越大。注意,它们靠近的 00 不在区间 (0,1](0,1] 里,ff 在 00 处也没有定义。开区间上的连续函数可以无界,原因就在这里。

下面证明:在闭区间 [a,b][a,b] 上,这种事不会发生。用反证法:假设 ff 在 [a,b][a,b] 上连续,却无界,推出矛盾。

(1)造一串点。 照着上面例子的办法。既然无界,拿 11 当天花板也会被顶破:有一点 x1∈[a,b]x_1\in[a,b],∣f(x1)∣>1\lvert f(x_1)\rvert>1。拿 22 当天花板:有一点 x2x_2,∣f(x2)∣>2\lvert f(x_2)\rvert>2。一般地,对每个正整数 nn,拿 nn 当天花板(也就是取 M=nM=n),都能找到一点 xn∈[a,b]x_n\in[a,b],使

∣f(xn)∣>n.\lvert f(x_n)\rvert>n.

(2)挑出收敛的一部分。 点 x1,x2,x3,…x_1,x_2,x_3,\dots 都在 [a,b][a,b] 里。由上面刚证明的事实(闭区间里的数列都有收敛子列),可以从中按顺序挑出一部分,比如第 22 个、第 55 个、第 99 个……,记作 xn1,xn2,xn3,…x_{n_1},x_{n_2},x_{n_3},\dots(这里 n1=2n_1=2,n2=5n_2=5,n3=9n_3=9,……),它们收敛到某一点 cc,并且 cc 在 [a,b][a,b] 里。这一步用到了区间是闭的:cc 不会跑到区间外面去。在上面 1x\frac1x 的例子里,点靠近的 00 恰好在区间外面。

(3)从两方面看这串点的函数值。

  • 一方面,cc 在 [a,b][a,b] 里,ff 在 cc 处连续,而 xnk→cx_{n_k}\to c,所以 f(xnk)→f(c)f(x_{n_k})\to f(c)。f(c)f(c) 是一个确定的有限数,所以这串函数值越来越接近一个有限数。
  • 另一方面,挑出来的每一个点仍然满足(1)里的不等式:第 22 个点满足 ∣f(x2)∣>2\lvert f(x_2)\rvert>2,第 55 个点满足 ∣f(x5)∣>5\lvert f(x_5)\rvert>5,第 99 个点满足 ∣f(x9)∣>9\lvert f(x_9)\rvert>9……一般地,∣f(xnk)∣>nk\lvert f(x_{n_k})\rvert>n_k。挑出的编号 nkn_k 一个比一个大,趋于无穷,所以这串函数值的绝对值要超过越来越大的数,不可能接近一个有限数。

同一串数,既要越来越接近有限数 f(c)f(c),又要大过任何数,这不可能。所以假设错了:ff 在 [a,b][a,b] 上有界。

第二步:最大值取得到。

第一步说明,所有函数值都在某块天花板之下,所以函数值组成的集合有上界。由确界原理,它有上确界,记为 MM(这里的 MM 是最低的那块天花板,和第一步里随便取的天花板不同)。要证明的是:有某一点 cc,f(c)=Mf(c)=M。

(1)造一串点。 MM 是最低的天花板,所以比 MM 低一点的位置就不再是天花板(上确界的性质 2):比 MM 低 11 的 M−1M-1,一定被某个函数值超过,把那一点记作 x1x_1,f(x1)>M−1f(x_1)>M-1;比 MM 低 12\frac12 的 M−12M-\frac12,也被某个函数值超过,记那一点为 x2x_2,f(x2)>M−12f(x_2)>M-\frac12。一般地,对每个正整数 nn,有一点 xnx_n,

M−1n<f(xn)≤M.M-\frac1n<f(x_n)\le M.

右边的 ≤M\le M 是因为 MM 本身是天花板。所以这些函数值离 MM 越来越近。

(2)挑出收敛的一部分。 和第一步一样,从 x1,x2,…x_1,x_2,\dots 中挑出收敛的子列 xnk→cx_{n_k}\to c,cc 在 [a,b][a,b] 里。

(3)从两方面看这串点的函数值。 一方面,ff 在 cc 处连续,f(xnk)→f(c)f(x_{n_k})\to f(c)。另一方面,M−1nk<f(xnk)≤MM-\frac1{n_k}<f(x_{n_k})\le M:左边趋于 MM,右边就是 MM,夹在中间的 f(xnk)f(x_{n_k}) 只能也趋于 MM(这叫夹逼,第三节会正式讲)。同一串数的极限只有一个(唯一性),所以 f(c)=Mf(c)=M:最大值在 cc 处取到。

最小值也取得到。 不必重新证明,借用刚才的结论。令 g(x)=−f(x)g(x)=-f(x),它是 ff 的图像上下翻过来,仍然连续。由刚证明的结论,gg 在某点 c′c' 取到最大值:对 [a,b][a,b] 里每一个 xx,g(x)≤g(c′)g(x)\le g(c'),即 −f(x)≤−f(c′)-f(x)\le-f(c')。两边乘 −1-1,不等号反向:f(x)≥f(c′)f(x)\ge f(c')。这正是说 ff 在 c′c' 处取到最小值。

把这一小节串起来:确界原理(实数没有空隙)推出单调有界定理,单调有界定理推出二分法收敛和子列收敛,再加上连续性,就得到闭区间上连续函数的各种性质。

一、先把式子变形:因式分解、共轭、配方、提最高次#

很多题目的第一步都一样:先把式子改写一下,让它的“形状”露出来,再决定怎么算。这一节讲四种最常用的变形。

① 因式分解:约掉造成麻烦的公共因子#

例 求 x→1x\to 1 时

x2−1x−1\frac{x^2-1}{x-1}

的极限。

直接代入得到 00\frac{0}{0},看不出答案。先把分子写成

x2−1=(x−1)(x+1).x^2-1=(x-1)(x+1).

在 x≠1x\ne 1 时,分子分母都有 x−1x-1,可以约去,剩下 x+1x+1。x+1x+1 是多项式,在 x=1x=1 处连续,可以直接代入。完整的写法是:

lim⁡x→1x2−1x−1=lim⁡x→1(x−1)(x+1)x−1=lim⁡x→1(x+1)=1+1=2.\lim_{x\to 1}\frac{x^2-1}{x-1}=\lim_{x\to 1}\frac{(x-1)(x+1)}{x-1}=\lim_{x\to 1}(x+1)=1+1=2.

注意 lim⁡\lim 的写法:式子里还有 xx 的时候,前面的 lim⁡x→1\lim\limits_{x\to1} 要一直保留;直到代入数值的那一步,才把它去掉。结果和“开始之前”的“极限:靠近,但不必到达”一小节里,那张逐步代入的数值表一致。

后面有时为了简洁,只写变形以后的式子,再用箭头“→\to”表示“当 xx 趋于那个值时,这个式子趋于”。比如上面约分以后剩下 x+1x+1,就可以简写成“x+1→2x+1\to2(x→1x\to1)”,它就是 lim⁡x→1(x+1)=2\lim\limits_{x\to1}(x+1)=2 的意思。两种写法意思一样;自己做题时,写完整的 lim⁡\lim 等式链最不容易出错。

必须熟悉的几个拆法:

a2−b2=(a−b)(a+b)a2+2ab+b2=(a+b)2a2−2ab+b2=(a−b)2a3−b3=(a−b)(a2+ab+b2)a3+b3=(a+b)(a2−ab+b2)\begin{aligned} a^2-b^2&=(a-b)(a+b)\\ a^2+2ab+b^2&=(a+b)^2\\ a^2-2ab+b^2&=(a-b)^2\\ a^3-b^3&=(a-b)(a^2+ab+b^2)\\ a^3+b^3&=(a+b)(a^2-ab+b^2) \end{aligned}

这些都不是新定理,把右边展开就能检查。比如第四条:

(a−b)(a2+ab+b2)=a3+a2b+ab2−a2b−ab2−b3=a3−b3.(a-b)(a^2+ab+b^2)=a^3+a^2b+ab^2-a^2b-ab^2-b^3=a^3-b^3.

第五条中间是 −ab-ab,正是为了让交叉项抵消:

(a+b)(a2−ab+b2)=a3−a2b+ab2+a2b−ab2+b3=a3+b3.(a+b)(a^2-ab+b^2)=a^3-a^2b+ab^2+a^2b-ab^2+b^3=a^3+b^3.

再看一例 求 lim⁡x→2x2−5x+6x2−4\lim\limits_{x\to2}\dfrac{x^2-5x+6}{x^2-4}。

代入得 4−10+64−4=00\frac{4-10+6}{4-4}=\frac00。由因式定理,分子分母都含 x−2x-2:

lim⁡x→2x2−5x+6x2−4=lim⁡x→2(x−2)(x−3)(x−2)(x+2)=lim⁡x→2x−3x+2=2−32+2=−14.\lim_{x\to2}\frac{x^2-5x+6}{x^2-4}=\lim_{x\to2}\frac{(x-2)(x-3)}{(x-2)(x+2)}=\lim_{x\to2}\frac{x-3}{x+2}=\frac{2-3}{2+2}=-\frac14.

(x2−4=(x−2)(x+2)x^2-4=(x-2)(x+2) 是平方差公式。约分时 x≠2x\ne2,这正是极限允许的:xx 只是靠近 22,不等于 22。)

② 根式相减:先想共轭#

例 求 x→0x\to0 时

1+x−1x\frac{\sqrt{1+x}-1}{x}

的极限。

直接代入 x=0x=0:分子 1+0−1=0\sqrt{1+0}-1=0,分母 00,得 00\frac{0}{0}。把分子分母同时乘 1+x+1\sqrt{1+x}+1:

  • 分子变成 (1+x−1)(1+x+1)=(1+x)2−12=(1+x)−1=x(\sqrt{1+x}-1)(\sqrt{1+x}+1)=(\sqrt{1+x})^2-1^2=(1+x)-1=x;
  • 分母变成 x[1+x+1]x\left[\sqrt{1+x}+1\right]。

约去 xx,剩下

11+x+1,\frac{1}{\sqrt{1+x}+1},

(约去 xx 是因为 x→0x\to0 时 x≠0x\ne0。)现在分母在 x=0x=0 处是 1+0+1=2\sqrt{1+0}+1=2,不再是 00,而且这个式子是连续的,可以直接代入 x=0x=0,极限是 11+1=12\frac{1}{1+1}=\frac12。写成一行就是

lim⁡x→01+x−1x=lim⁡x→0xx(1+x+1)=lim⁡x→011+x+1=11+0+1=12.\lim_{x\to0}\frac{\sqrt{1+x}-1}{x}=\lim_{x\to0}\frac{x}{x\left(\sqrt{1+x}+1\right)}=\lim_{x\to0}\frac{1}{\sqrt{1+x}+1}=\frac{1}{\sqrt{1+0}+1}=\frac12.

③ 配方:让最小值、符号或者根显露出来#

x2+2x+a=x2+2x+1+a−1=(x+1)2+a−1.\begin{aligned} x^2+2x+a&=x^2+2x+1+a-1\\ &=(x+1)^2+a-1. \end{aligned}

补 11 是因为 x2+2xx^2+2x 离一个完整的平方只差 11:(x+1)2=x2+2x+1(x+1)^2=x^2+2x+1。补了 11 又减掉 11,式子的值没变。

这样写以后,xx 只出现在平方 (x+1)2(x+1)^2 里,而平方不会小于 00:

  • (x+1)2≥0(x+1)^2\ge0,等号只在 x=−1x=-1 时成立;
  • 所以整个式子 ≥a−1\ge a-1,最小值是 a−1a-1,在 x=−1x=-1 取得。

于是,如果问“aa 取什么值时,x2+2x+ax^2+2x+a 对所有 xx 都不小于 00”,马上得到条件是最小值 a−1≥0a-1\ge0,即 a≥1a\ge1。如果问“方程 x2+2x+a=0x^2+2x+a=0 的两个根是什么”,把配方的结果代进方程:(x+1)2+a−1=0(x+1)^2+a-1=0。把常数移到右边:(x+1)2=1−a(x+1)^2=1-a。左边是平方,不会是负数,所以右边也必须 ≥0\ge0,即 a≤1a\le1(a>1a>1 时没有实根)。a≤1a\le1 时两边开方,x+1=±1−ax+1=\pm\sqrt{1-a},即 x=−1±1−ax=-1\pm\sqrt{1-a}。

同一个配方,既能求最小值,又能求根。看你要的是哪一个。

在微积分里,配方主要有两个用处。一是判断式子的正负:比如配方后看出分母 x2+2x+2=(x+1)2+1≥1x^2+2x+2=(x+1)^2+1\ge1,它永远不为 00,函数 1x2+2x+2\frac1{x^2+2x+2} 在整条数轴上都有定义、都连续。二是为第二篇的积分做准备:那里会遇到分母是 x2+2x+2x^2+2x+2 这样的分式,第一步就是把分母配成 (x+1)2+1(x+1)^2+1,把 x+1x+1 当成一个整体,再套现成的公式(第二节会讲的反正切函数)。

④ 提取最高次项:比较无穷远处谁增长得快#

例 求 x→+∞x\to+\infty 时 3x2+x2x2−5\dfrac{3x^2+x}{2x^2-5} 的极限。

直接看,分子分母都趋于无穷大。分子分母同时除以 x2x^2(也就是提出最高次项 x2x^2),每一项分别除:分子 3x2x2+xx2=3+1x\frac{3x^2}{x^2}+\frac{x}{x^2}=3+\frac1x,分母 2x2x2−5x2=2−5x2\frac{2x^2}{x^2}-\frac5{x^2}=2-\frac5{x^2}。

x→+∞x\to+\infty 时 1x→0\frac1x\to0、5x2→0\frac5{x^2}\to0:分母越来越大,分数就越来越接近 00。所以分子趋于 3+0=33+0=3,分母趋于 2−0=22-0=2。分母的极限不是 00,由极限的四则运算,可以相除:

lim⁡x→+∞3x2+x2x2−5=lim⁡x→+∞3+1x2−5x2=3+02−0=32.\lim_{x\to+\infty}\frac{3x^2+x}{2x^2-5}=\lim_{x\to+\infty}\frac{3+\frac1x}{2-\frac{5}{x^2}}=\frac{3+0}{2-0}=\frac32.

从 x2+1\sqrt{x^2+1} 里提出 xx 时要小心:

x2+1=x2(1+1x2)=x2⋅1+1x2=∣x∣1+1x2.\sqrt{x^2+1}=\sqrt{x^2\left(1+\frac1{x^2}\right)}=\sqrt{x^2}\cdot\sqrt{1+\frac1{x^2}}=\lvert x\rvert\sqrt{1+\frac{1}{x^2}}.

因为 x2=∣x∣\sqrt{x^2}=\lvert x\rvert,不是 xx。x→+∞x\to+\infty 时 ∣x∣=x\lvert x\rvert=x;x→−∞x\to-\infty 时 ∣x∣=−x\lvert x\rvert=-x。

例 求 lim⁡x→−∞x2+1x\lim\limits_{x\to-\infty}\dfrac{\sqrt{x^2+1}}{x}。

x→−∞x\to-\infty,只需要看 xx 很负的时候,所以可以设 x<0x<0,这时 ∣x∣=−x\lvert x\rvert=-x。于是 x2+1=∣x∣1+1x2=−x1+1x2\sqrt{x^2+1}=\lvert x\rvert\sqrt{1+\frac1{x^2}}=-x\sqrt{1+\frac1{x^2}},

lim⁡x→−∞x2+1x=lim⁡x→−∞−x1+1x2x=lim⁡x→−∞(−1+1x2)=−1+0=−1.\lim_{x\to-\infty}\frac{\sqrt{x^2+1}}{x}=\lim_{x\to-\infty}\frac{-x\sqrt{1+\frac1{x^2}}}{x}=\lim_{x\to-\infty}\left(-\sqrt{1+\frac{1}{x^2}}\right)=-\sqrt{1+0}=-1.

(第二个等号约去 xx;最后一步,x→−∞x\to-\infty 时 x2→+∞x^2\to+\infty,1x2→0\frac1{x^2}\to0,根号是连续的,可以把极限代进去。)

验证一下:x=−100x=-100 时,原式 =10001−100≈−1.00005=\frac{\sqrt{10001}}{-100}\approx-1.00005,确实是负的。如果漏掉绝对值,会得到 +1+1。

二、三角函数、指数与对数#

这几类函数在极限、求导、积分里会反复出现。这一节从定义讲起,把最常用的变形补齐。

① 三角函数:先注意高数里的角用弧度#

弧度是用长度来量角:在半径为 rr 的圆上,一个圆心角对着长为 ss 的弧,这个角的大小就定义为 sr\frac{s}{r} 弧度。在半径为 11 的圆(单位圆)上,角的弧度数就等于它所对的弧长。

一整圈的弧长是 2π⋅1=2π2\pi\cdot1=2\pi,所以一整圈是 2π2\pi 弧度,半圈是 π\pi,直角是 π2\frac\pi2。换算关系是 180∘=π180^\circ=\pi,所以 1∘=π1801^\circ=\frac{\pi}{180} 弧度,30∘=π630^\circ=\frac\pi6,45∘=π445^\circ=\frac\pi4,60∘=π360^\circ=\frac\pi3。

为什么要用弧度?第三节会证明 sin⁡xx→1\frac{\sin x}{x}\to1(x→0x\to0),这个结论只在 xx 用弧度时成立。证明里用到了“扇形面积 =12×=\frac12\times 半径 ×\times 弧长”,弧长和弧度数相等这件事只有弧度满足。后面所有三角函数的求导公式都建立在这个极限上,所以高数里的角一律用弧度。

单位圆定义。 从 xx 轴正方向出发,逆时针转过角 θ\theta,落在单位圆上的点叫 PP。规定

cos⁡θ=P 的横坐标,sin⁡θ=P 的纵坐标,tan⁡θ=sin⁡θcos⁡θ (cos⁡θ≠0).\cos\theta=P\text{ 的横坐标},\qquad \sin\theta=P\text{ 的纵坐标},\qquad \tan\theta=\frac{\sin\theta}{\cos\theta}\ (\cos\theta\ne0).

顺时针转对应负角。这个定义对任何角都适用,不限于锐角。

xyO1P(cos θ, sin θ)θ弧长 = θsin θcos θ 图 2:单位圆上,弧长等于角的弧度数;点 P 的横坐标是 cos θ,纵坐标是 sin θ。

PP 到原点的距离是 11,由勾股定理马上得到最基本的恒等式 sin⁡2θ+cos⁡2θ=1\sin^2\theta+\cos^2\theta=1。(sin⁡2θ\sin^2\theta 是 (sin⁡θ)2(\sin\theta)^2 的简写。)

特殊角的值(从正三角形和等腰直角三角形算出):

θ\theta 00 π6\frac\pi6 π4\frac\pi4 π3\frac\pi3 π2\frac\pi2 π\pi
sin⁡θ\sin\theta 00 12\frac12 22\frac{\sqrt2}2 32\frac{\sqrt3}2 11 00
cos⁡θ\cos\theta 11 32\frac{\sqrt3}2 22\frac{\sqrt2}2 12\frac12 00 −1-1
tan⁡θ\tan\theta 00 33\frac{\sqrt3}3 11 3\sqrt3 不存在 00

xyy = xθπ − θπ + θ−θπ/2 − θ 图 3:π−θ 与 θ 关于 y 轴对称;π+θ 关于原点对称;−θ 关于 x 轴对称;π/2−θ 关于直线 y = x 对称。

最常用的恒等式:

sin⁡2x+cos⁡2x=1tan⁡x=sin⁡xcos⁡x1+tan⁡2x=1cos⁡2xsin⁡2x=2sin⁡xcos⁡x\begin{aligned} &\sin^2x+\cos^2x=1\\ &\tan x=\frac{\sin x}{\cos x}\\ &1+\tan^2x=\frac{1}{\cos^2x}\\ &\sin2x=2\sin x\cos x \end{aligned}

第三条来自第一条两边除以 cos⁡2x\cos^2x:sin⁡2xcos⁡2x+cos⁡2xcos⁡2x=1cos⁡2x\frac{\sin^2x}{\cos^2x}+\frac{\cos^2x}{\cos^2x}=\frac1{\cos^2x},即 tan⁡2x+1=1cos⁡2x\tan^2x+1=\frac1{\cos^2x},要求 cos⁡x≠0\cos x\ne0。第四条是正弦的和角公式 sin⁡(α+β)=sin⁡αcos⁡β+cos⁡αsin⁡β\sin(\alpha+\beta)=\sin\alpha\cos\beta+\cos\alpha\sin\beta 取 α=β=x\alpha=\beta=x:左边是 sin⁡2x\sin2x,右边是 sin⁡xcos⁡x+cos⁡xsin⁡x=2sin⁡xcos⁡x\sin x\cos x+\cos x\sin x=2\sin x\cos x。

降幂公式:

sin⁡2x=1−cos⁡2x2,cos⁡2x=1+cos⁡2x2.\sin^2x=\frac{1-\cos2x}{2},\qquad\cos^2x=\frac{1+\cos2x}{2}.

它们来自余弦的二倍角公式。在 cos⁡(α+β)=cos⁡αcos⁡β−sin⁡αsin⁡β\cos(\alpha+\beta)=\cos\alpha\cos\beta-\sin\alpha\sin\beta 里取 α=β=x\alpha=\beta=x:

cos⁡2x=cos⁡2x−sin⁡2x.\cos2x=\cos^2x-\sin^2x.

再配合 sin⁡2x+cos⁡2x=1\sin^2x+\cos^2x=1,消掉其中一个:

  • 把 cos⁡2x=1−sin⁡2x\cos^2x=1-\sin^2x 代入:cos⁡2x=(1−sin⁡2x)−sin⁡2x=1−2sin⁡2x\cos2x=(1-\sin^2x)-\sin^2x=1-2\sin^2x。移项得 2sin⁡2x=1−cos⁡2x2\sin^2x=1-\cos2x,两边除以 22,sin⁡2x=1−cos⁡2x2\sin^2x=\frac{1-\cos2x}2。
  • 把 sin⁡2x=1−cos⁡2x\sin^2x=1-\cos^2x 代入:cos⁡2x=cos⁡2x−(1−cos⁡2x)=2cos⁡2x−1\cos2x=\cos^2x-(1-\cos^2x)=2\cos^2x-1。移项得 2cos⁡2x=1+cos⁡2x2\cos^2x=1+\cos2x,两边除以 22,cos⁡2x=1+cos⁡2x2\cos^2x=\frac{1+\cos2x}2。

“降幂”有什么用?平方的三角函数不好直接积分,一次的 cos⁡2x\cos2x 却很好积分。第二篇会具体算。

另外两条特别常用:

1−cos⁡x=2sin⁡2x2,sin⁡(−x)=−sin⁡x, cos⁡(−x)=cos⁡x.1-\cos x=2\sin^2\frac x2,\qquad \sin(-x)=-\sin x,\ \cos(-x)=\cos x.

第一条来自上面的 cos⁡2t=1−2sin⁡2t\cos2t=1-2\sin^2t(这里用字母 tt,免得和 xx 混淆)。取 t=x2t=\frac x2,2t=x2t=x,得 cos⁡x=1−2sin⁡2x2\cos x=1-2\sin^2\frac x2,移项就是 1−cos⁡x=2sin⁡2x21-\cos x=2\sin^2\frac x2。“11 减去一个接近 11 的数”在求极限时很难直接看出大小,这条公式把它换成一个平方,第三节马上会用到。后两条说明 sin⁡x\sin x 是奇函数、cos⁡x\cos x 是偶函数(回顾“开始之前”:f(−x)=−f(x)f(-x)=-f(x) 叫奇函数,f(−x)=f(x)f(-x)=f(x) 叫偶函数)。tan⁡x\tan x 也是奇函数:tan⁡(−x)=sin⁡(−x)cos⁡(−x)=−sin⁡xcos⁡x=−tan⁡x\tan(-x)=\frac{\sin(-x)}{\cos(-x)}=\frac{-\sin x}{\cos x}=-\tan x。

② 指数与对数:把乘除变成加减#

数 ee。 微积分里最重要的底数是

e=lim⁡n→∞(1+1n)n≈2.71828.e=\lim_{n\to\infty}\left(1+\frac1n\right)^n\approx2.71828.

这个数最早出现在“连续复利”的问题中:本金 11、年利率 100%100\%,一年分 nn 次结息,每次按 100%n=1n\frac{100\%}n=\frac1n 的利率结算,利息马上并入本金(利滚利)。所以每结一次息,本息变成结息前的 1+1n1+\frac1n 倍;结 nn 次,年底本息合计 (1+1n)n\left(1+\frac1n\right)^n。n=1n=1 是 22,n=12n=12 约是 2.6132.613,n=365n=365 约是 2.71462.7146。结息越频繁,结果越接近 ee。ee 特别的地方要到求导时才显出来:exe^x 的导数就是它自己(第四节)。

自然对数。 ln⁡x\ln x 是 exe^x 的反函数:y=ln⁡xy=\ln x 的意思是 ey=xe^y=x。换句话说,ln⁡x\ln x 回答的是“ee 的几次方等于 xx?”。比如 ln⁡1=0\ln1=0(因为 e0=1e^0=1),ln⁡e=1\ln e=1,ln⁡e3=3\ln e^3=3。eye^y 总是正数,所以 ln⁡x\ln x 只对 x>0x>0 有定义。

两者互为反函数,所以

eln⁡x=x (x>0),ln⁡(ex)=x.e^{\ln x}=x\ (x>0),\qquad \ln(e^x)=x.

xy11Oy = exy = ln xy = x 图 4:y = eˣ 与 y = ln x 互为反函数,图像关于 y = x 对称。eˣ 过点 (0, 1),ln x 过点 (1, 0)。

对正数 aa、bb:

ln⁡(ab)=ln⁡a+ln⁡b,ln⁡ab=ln⁡a−ln⁡b,ln⁡(ar)=rln⁡a.\ln(ab)=\ln a+\ln b,\qquad \ln\frac ab=\ln a-\ln b,\qquad \ln(a^r)=r\ln a.

但是 ln⁡(a+b)\ln(a+b) 不能拆成 ln⁡a+ln⁡b\ln a+\ln b。比如 ln⁡(1+1)=ln⁡2≈0.693\ln(1+1)=\ln2\approx0.693,而 ln⁡1+ln⁡1=0\ln1+\ln1=0,两者不同。

③ 指数函数到底是怎样定义的(选读)#

上面我们直接用了 exe^x,还用了“exe^x 的反函数 ln⁡x\ln x”。可是有一个问题没有回答:xx 是无理数时,exe^x 是什么意思?e2e^{\sqrt2} 不能理解成“2\sqrt2 个 ee 相乘”。这一小节给出一种严格的定义,并证明 exe^x 的几条基本性质。跳过它不影响后面的计算;后面第四节证明 (ex)′=ex(e^x)'=e^x 时会引用这里的一个估计。

定义 对任意实数 xx,令

E(x)=1+x+x22!+x33!+x44!+⋯=∑k=0∞xkk!.E(x)=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\frac{x^4}{4!}+\cdots=\sum_{k=0}^{\infty}\frac{x^k}{k!}.

这里 k!=1×2×⋯×kk!=1\times2\times\cdots\times k(读作“kk 的阶乘”),规定 0!=10!=1。∑\sum 是求和符号,∑k=0∞\sum_{k=0}^{\infty} 表示让 kk 从 00 开始取遍所有自然数,把各项加起来。

“无穷多项相加”的意思是:先从 k=0k=0 加到 k=Nk=N(一共 N+1N+1 项),得到一个普通的数 SN=∑k=0Nxkk!S_N=\sum_{k=0}^N\frac{x^k}{k!}(叫部分和),再看 N→∞N\to\infty 时 SNS_N 的极限。比如 x=1x=1 时:

NN 00 11 22 33 44 55 66
SNS_N 11 22 2.52.5 2.66672.6667 2.70832.7083 2.71672.7167 2.71812.7181

部分和很快地稳定在 2.71828…2.71828\ldots 附近。

这个极限一定存在。 固定 xx。先看各项的绝对值 ∣x∣kk!\frac{\lvert x\rvert^k}{k!} 加起来会不会无限变大。相邻两项之比是

∣x∣k+1/(k+1)!∣x∣k/k!=∣x∣k+1∣x∣k⋅k!(k+1)!=∣x∣k+1.\frac{\lvert x\rvert^{k+1}/(k+1)!}{\lvert x\rvert^k/k!}=\frac{\lvert x\rvert^{k+1}}{\lvert x\rvert^k}\cdot\frac{k!}{(k+1)!}=\frac{\lvert x\rvert}{k+1}.

kk 越大,这个比越小。取一个整数 KK,使 K+1≥2∣x∣K+1\ge2\lvert x\rvert(比如 x=3x=3 时取 K=5K=5),那么从第 KK 项起,比值 ∣x∣k+1≤∣x∣2∣x∣=12\frac{\lvert x\rvert}{k+1}\le\frac{\lvert x\rvert}{2\lvert x\rvert}=\frac12:每一项至多是前一项的一半。记第 KK 项为 c=∣x∣KK!c=\frac{\lvert x\rvert^K}{K!},后面的项依次不超过 12c\frac12c、14c\frac14c、18c\frac18c……所以从第 KK 项往后,不管加多少项,和都不超过

c(1+12+14+⋯+12m)=c⋅2(1−12m+1)<2c.c\left(1+\frac12+\frac14+\cdots+\frac1{2^m}\right)=c\cdot2\left(1-\frac1{2^{m+1}}\right)<2c.

(括号里是等比数列求和:首项 11、公比 12\frac12 的前 m+1m+1 项和是 1−(1/2)m+11−1/2\frac{1-(1/2)^{m+1}}{1-1/2}。)前面第 00 项到第 K−1K-1 项只有有限个,它们的和是一个固定的数,记作 AA。所以不管加到第几项,各项绝对值的部分和都不超过 A+2cA+2c。各项都 ≥0\ge0,部分和只增不减,又有上界 A+2cA+2c,由单调有界定理(“开始之前”的选读部分),它收敛。

各项绝对值加起来收敛的级数叫绝对收敛。各项带着正负号(x<0x<0 时奇数次项是负的)加起来,也一定收敛。原级数有正有负,部分和忽大忽小,不能直接用单调有界定理,要把正负分开:对每一项 aka_k,令 pkp_k 等于 aka_k 的正的部分(ak>0a_k>0 时 pk=akp_k=a_k,否则 pk=0p_k=0),qkq_k 等于负的部分去掉负号(ak<0a_k<0 时 qk=−akq_k=-a_k,否则 qk=0q_k=0)。那么 pk,qk≥0p_k,q_k\ge0,ak=pk−qka_k=p_k-q_k,并且 pkp_k、qkq_k 都不超过 ∣ak∣\lvert a_k\rvert。于是 pkp_k 的部分和只增不减,又不超过各项绝对值的和,有上界,所以收敛;qkq_k 的部分和同样收敛。原级数的部分和等于两者之差,由极限的四则运算,也收敛。

指数律 E(x)E(y)=E(x+y)E(x)E(y)=E(x+y)。 把两个级数相乘:

(1+x+x22!+⋯ )(1+y+y22!+⋯ ),\left(1+x+\frac{x^2}{2!}+\cdots\right)\left(1+y+\frac{y^2}{2!}+\cdots\right),

像多项式相乘那样,每一项乘每一项,再按 xx、yy 的总次数分组。先看前几组:

  • 总次数 00:1⋅1=11\cdot1=1,正是 (x+y)00!\frac{(x+y)^0}{0!};
  • 总次数 11:x⋅1+1⋅y=x+yx\cdot1+1\cdot y=x+y,正是 (x+y)11!\frac{(x+y)^1}{1!};
  • 总次数 22:x22!⋅1+x⋅y+1⋅y22!=12(x2+2xy+y2)\frac{x^2}{2!}\cdot1+x\cdot y+1\cdot\frac{y^2}{2!}=\frac12(x^2+2xy+y^2),正是 (x+y)22!\frac{(x+y)^2}{2!}。

一般地,总次数为 kk 的那一组,由第一个级数里的 xjj!\frac{x^j}{j!} 乘第二个级数里的 yk−j(k−j)!\frac{y^{k-j}}{(k-j)!} 组成(j=0,1,…,kj=0,1,\dots,k)。要和二项式展开对上,分子分母同乘 k!k!,把 1k!\frac1{k!} 提到外面:

∑j=0kxjj!⋅yk−j(k−j)!=1k!∑j=0kk!j!(k−j)!xjyk−j=(x+y)kk!.\sum_{j=0}^{k}\frac{x^j}{j!}\cdot\frac{y^{k-j}}{(k-j)!}=\frac1{k!}\sum_{j=0}^k\frac{k!}{j!(k-j)!}x^jy^{k-j}=\frac{(x+y)^k}{k!}.

最后一步是二项式展开:把 (x+y)k(x+y)^k 展开,从 kk 个括号里挑 jj 个取 xx、其余取 yy,挑法有 k!j!(k−j)!\frac{k!}{j!(k-j)!} 种(高中的组合数 Ckj\mathrm C_k^j)。比如 (x+y)3(x+y)^3 里 x1y2x^1y^2 的系数:从 33 个括号里挑 11 个取 xx,有 33 种挑法,3!1! 2!=3\frac{3!}{1!\,2!}=3,对应展开式 x3+3x2y+3xy2+y3x^3+3x^2y+3xy^2+y^3 里的 3xy23xy^2。所以乘积按次数分组,恰好就是 E(x+y)E(x+y) 的各项。

(无穷多项能这样重新分组,需要一点说明。把两个级数的项排成一张表,第 jj 行第 ii 列放 xjj!⋅yii!\frac{x^j}{j!}\cdot\frac{y^i}{i!}。两个部分和相乘,加的是表里左上角的一个正方形;按总次数分组,加的是左上角的一个三角形。两者相差的只是很靠后的那些项,因为两个级数都绝对收敛,这些项的绝对值之和趋于 00,所以两种加法的极限相同。)

由指数律推出的性质:

  • E(0)=1E(0)=1:把 x=0x=0 代入,除了第一项 11,其余各项都是 00。
  • E(x)E(x) 永远不为 00,并且 E(−x)=1E(x)E(-x)=\frac1{E(x)}:在指数律里取 y=−xy=-x,E(x)E(−x)=E(0)=1E(x)E(-x)=E(0)=1。两个数相乘等于 11,哪个都不能是 00;两边除以 E(x)E(x) 就是 E(−x)=1E(x)E(-x)=\frac1{E(x)}。
  • E(x)>0E(x)>0:由指数律,E(x)=E(x2+x2)=E(x2)2≥0E(x)=E\left(\frac x2+\frac x2\right)=E\left(\frac x2\right)^2\ge0;又不等于 00,所以 >0>0。
  • EE 严格递增:h>0h>0 时 E(h)=1+h+h22!+⋯E(h)=1+h+\frac{h^2}{2!}+\cdots,11 后面每一项都是正的,所以 E(h)>1E(h)>1。不等式两边乘正数 E(x)E(x),方向不变:E(x+h)=E(x)E(h)>E(x)E(x+h)=E(x)E(h)>E(x)。
  • 和普通的乘方一致:对正整数 nn,n=1+1+⋯+1n=1+1+\cdots+1,反复用指数律,E(n)=E(1)E(1)⋯E(1)=E(1)nE(n)=E(1)E(1)\cdots E(1)=E(1)^n。把 E(1)E(1) 记作 ee,就有 E(n)=enE(n)=e^n。对正分数 pq\frac pq,E(pq)q=E(pq+⋯+pq)=E(p)=epE\left(\frac pq\right)^q=E\left(\frac pq+\cdots+\frac pq\right)=E(p)=e^p(qq 个 pq\frac pq 相加是 pp),两边开 qq 次方,E(pq)=epq=ep/qE\left(\frac pq\right)=\sqrt[q]{e^p}=e^{p/q}。负数用 E(−x)=1E(x)E(-x)=\frac1{E(x)}。所以 EE 在有理数上和普通的乘方一致,而它对无理数也有定义。于是我们就用 E(x)E(x) 来定义 exe^x。

变化率。 设 ∣h∣≤12\lvert h\rvert\le\frac12。由定义,E(h)−1−h=h22!+h33!+⋯E(h)-1-h=\frac{h^2}{2!}+\frac{h^3}{3!}+\cdots。估计它的大小,分四步:

  1. 和的绝对值不超过各项绝对值的和:∣E(h)−1−h∣≤∣h∣22!+∣h∣33!+⋯\lvert E(h)-1-h\rvert\le\frac{\lvert h\rvert^2}{2!}+\frac{\lvert h\rvert^3}{3!}+\cdots。
  2. 分母 k!≥1k!\ge1,换成 11,每项只会变大:≤∣h∣2+∣h∣3+⋯=∣h∣2(1+∣h∣+∣h∣2+⋯ )\le\lvert h\rvert^2+\lvert h\rvert^3+\cdots=\lvert h\rvert^2\left(1+\lvert h\rvert+\lvert h\rvert^2+\cdots\right)。
  3. 括号里是公比 ∣h∣<1\lvert h\rvert<1 的等比级数,和为 11−∣h∣\frac1{1-\lvert h\rvert}:所以 ≤∣h∣21−∣h∣\le\frac{\lvert h\rvert^2}{1-\lvert h\rvert}。
  4. ∣h∣≤12\lvert h\rvert\le\frac12,所以分母 1−∣h∣≥121-\lvert h\rvert\ge\frac12,分母变小,分式变大:≤∣h∣21/2=2h2\le\frac{\lvert h\rvert^2}{1/2}=2h^2。

合起来:

∣E(h)−1−h∣≤2h2.\lvert E(h)-1-h\rvert\le2h^2.

这个估计说明两件事。

第一,EE 处处连续。由三角不等式,∣E(h)−1∣≤∣E(h)−1−h∣+∣h∣≤2h2+∣h∣→0\lvert E(h)-1\rvert\le\lvert E(h)-1-h\rvert+\lvert h\rvert\le2h^2+\lvert h\rvert\to0,所以 h→0h\to0 时 E(h)→1E(h)\to1。在任意一点 xx,函数值的变化 E(x+h)−E(x)=E(x)E(h)−E(x)=E(x)[E(h)−1]E(x+h)-E(x)=E(x)E(h)-E(x)=E(x)[E(h)-1];E(x)E(x) 是固定的数,E(h)−1→0E(h)-1\to0,所以变化趋于 00,即 E(x+h)→E(x)E(x+h)\to E(x)。这就是 EE 在 xx 处连续。

第二,通分后用上面的估计:

∣E(h)−1h−1∣=∣E(h)−1−h∣∣h∣≤2h2∣h∣=2∣h∣→0,\left\lvert\frac{E(h)-1}{h}-1\right\rvert=\frac{\lvert E(h)-1-h\rvert}{\lvert h\rvert}\le\frac{2h^2}{\lvert h\rvert}=2\lvert h\rvert\to0,

即 E(h)−1h→1\frac{E(h)-1}{h}\to1。第四节会看到,这正说明 exe^x 的导数是它自己。

对数。 要说明每个正数 y0y_0 恰好是某一个 E(x)E(x)。

  • 存在:x→+∞x\to+\infty 时 E(x)≥1+x→+∞E(x)\ge1+x\to+\infty(x>0x>0 时级数各项为正,只保留前两项);x→−∞x\to-\infty 时 E(x)=1E(−x)→0E(x)=\frac1{E(-x)}\to0。所以能找到一个很负的 x1x_1 使 E(x1)<y0E(x_1)<y_0,一个很大的 x2x_2 使 E(x2)>y0E(x_2)>y_0。在闭区间 [x1,x2][x_1,x_2] 上,EE 连续,y0y_0 介于两端的值之间,由介值定理(“开始之前”),有一点 cc 使 E(c)=y0E(c)=y_0。
  • 只有一个:EE 严格递增,不同的 xx 给出不同的函数值。

所以 EE 有反函数,定义在全体正数上,这就是 ln⁡\ln。(反函数也是连续的:严格单调的连续函数,它的反函数也连续。)

一般的底数 a>0a>0,定义 ax=exln⁡aa^x=e^{x\ln a}。它和普通的乘方一致:x=nx=n 是正整数时,enln⁡a=(eln⁡a)n=ane^{n\ln a}=\left(e^{\ln a}\right)^n=a^n(用了 eln⁡a=ae^{\ln a}=a);x=pqx=\frac pq 时,(epqln⁡a)q=epln⁡a=ap\left(e^{\frac pq\ln a}\right)^q=e^{p\ln a}=a^p,开 qq 次方得 ap/qa^{p/q}。对 222^{\sqrt2} 这样的无理数次方,这个定义给出了意义:22=e2ln⁡22^{\sqrt2}=e^{\sqrt2\ln2}。

它和复利极限是同一个 ee。 令 h=ln⁡(1+t)h=\ln(1+t),两边套上 EE:E(h)=1+tE(h)=1+t,即 t=E(h)−1t=E(h)-1。ln⁡\ln 连续,所以 t→0t\to0 时 h→ln⁡1=0h\to\ln1=0。于是

ln⁡(1+t)t=hE(h)−1=1E(h)−1h→11=1.\frac{\ln(1+t)}{t}=\frac{h}{E(h)-1}=\frac1{\dfrac{E(h)-1}{h}}\to\frac11=1.

(分母就是上面“变化率”里证明了趋于 11 的式子。)取 t=1nt=\frac1n,除以 1n\frac1n 就是乘 nn:nln⁡(1+1n)→1n\ln\left(1+\frac1n\right)\to1,再用 nln⁡A=ln⁡Ann\ln A=\ln A^n,就是 ln⁡[(1+1n)n]→1\ln\left[\left(1+\frac1n\right)^n\right]\to1。EE 是连续函数,对两边用 EE:E(ln⁡[(1+1n)n])→E(1)E\left(\ln\left[\left(1+\frac1n\right)^n\right]\right)\to E(1)。EE 和 ln⁡\ln 互为反函数,E(ln⁡A)=AE(\ln A)=A,左边就是 (1+1n)n\left(1+\frac1n\right)^n。所以 (1+1n)n→E(1)=e\left(1+\frac1n\right)^n\to E(1)=e。级数定义的 ee 和复利极限定义的 ee 是同一个数。

④ 底数和指数都在变化时,取对数#

若 y=xxy=x^x,x>0x>0,两边取对数:

ln⁡y=xln⁡x.\ln y=x\ln x.

复杂的幂变成了一个乘积。学完求导规则以后,两边求导就能处理(第四节例 5);求极限时,先求 ln⁡y\ln y 的极限,再用 y=eln⁡yy=e^{\ln y} 还原。

若求 y=[1+u(x)]v(x)y=\left[1+u(x)\right]^{v(x)} 的极限,也常常先取对数,用 ln⁡ar=rln⁡a\ln a^r=r\ln a 把指数挪到前面:

ln⁡y=ln⁡[1+u(x)]v(x)=v(x)ln⁡[1+u(x)].\ln y=\ln\left[1+u(x)\right]^{v(x)}=v(x)\ln\left[1+u(x)\right].

把幂的问题转成乘积的极限,通常更容易看清楚。如果算出 ln⁡y→A\ln y\to A,怎样回到 yy?exe^x 和 ln⁡x\ln x 互为反函数,y=eln⁡yy=e^{\ln y};exe^x 是连续函数,极限可以代进指数里,所以 y=eln⁡y→eAy=e^{\ln y}\to e^A。

例 求 lim⁡n→∞(1+2n)n\lim\limits_{n\to\infty}\left(1+\frac2n\right)^n。设 y=(1+2n)ny=\left(1+\frac2n\right)^n,ln⁡y=nln⁡(1+2n)\ln y=n\ln\left(1+\frac2n\right)。令 m=n2m=\frac n2,则 2n=1m\frac2n=\frac1m,n=2mn=2m:

ln⁡y=2mln⁡(1+1m)=2ln⁡[(1+1m)m].\ln y=2m\ln\left(1+\frac1m\right)=2\ln\left[\left(1+\frac1m\right)^m\right].

(第二个等号用 mln⁡A=ln⁡Amm\ln A=\ln A^m 把 mm 挪回指数上。)n→∞n\to\infty 时 m→∞m\to\infty,方括号里趋于 ee(ee 的定义)。ln⁡\ln 连续,所以 ln⁡y→2ln⁡e=2\ln y\to2\ln e=2。最后用上面说的办法还原:y=eln⁡y→e2y=e^{\ln y}\to e^2。这类“1∞1^\infty 型”的极限,第三节会给出更一般的办法。

⑤ 反三角函数不是倒数#

sin⁡x\sin x 不是一一对应的:sin⁡0=sin⁡π=0\sin0=\sin\pi=0。所以要先限制范围,只在 [−π2,π2]\left[-\frac\pi2,\frac\pi2\right] 上看 sin⁡x\sin x。它在这一段上从 −1-1 单调增加到 11,每个值恰好取一次。于是:

  • arcsin⁡x\arcsin x:[−π2,π2]\left[-\frac\pi2,\frac\pi2\right] 中正弦值等于 xx 的那个角,−1≤x≤1-1\le x\le1;
  • arccos⁡x\arccos x:[0,π][0,\pi] 中余弦值等于 xx 的那个角,−1≤x≤1-1\le x\le1;
  • arctan⁡x\arctan x:(−π2,π2)\left(-\frac\pi2,\frac\pi2\right) 中正切值等于 xx 的那个角,xx 可取任意实数。

范围为什么这样选:每个函数都要选一段单调、并且能取遍所有函数值的区间。cos⁡x\cos x 在 [−π2,π2]\left[-\frac\pi2,\frac\pi2\right] 上不单调(cos⁡\cos 是偶函数,cos⁡(−π3)=cos⁡π3\cos\left(-\frac\pi3\right)=\cos\frac\pi3),在 [0,π][0,\pi] 上从 11 单调减少到 −1-1,所以选 [0,π][0,\pi]。tan⁡x\tan x 在 ±π2\pm\frac\pi2 处没有定义,所以只能取开区间;在这个开区间上它从 −∞-\infty 单调增加到 +∞+\infty。

比如 arcsin⁡12=π6\arcsin\frac12=\frac\pi6,arctan⁡1=π4\arctan1=\frac\pi4,arccos⁡0=π2\arccos0=\frac\pi2。函数值是负数时,先找对应的正数的角,再用对称性搬到规定范围里:

  • arcsin⁡\arcsin:sin⁡\sin 是奇函数,sin⁡(−θ)=−sin⁡θ\sin(-\theta)=-\sin\theta,所以直接加负号。比如正数 32\frac{\sqrt3}2 对应 π3\frac\pi3,arcsin⁡(−32)=−π3\arcsin\left(-\frac{\sqrt3}2\right)=-\frac\pi3,它在 [−π2,π2]\left[-\frac\pi2,\frac\pi2\right] 内。arctan⁡\arctan 也一样,比如 arctan⁡(−1)=−π4\arctan(-1)=-\frac\pi4。
  • arccos⁡\arccos:cos⁡\cos 是偶函数,加负号不改变余弦值;而且 arccos⁡\arccos 的范围 [0,π][0,\pi] 里没有负角。要用 cos⁡(π−θ)=−cos⁡θ\cos(\pi-\theta)=-\cos\theta:正数 22\frac{\sqrt2}2 对应 π4\frac\pi4,所以 arccos⁡(−22)=π−π4=3π4\arccos\left(-\frac{\sqrt2}2\right)=\pi-\frac\pi4=\frac{3\pi}4,它在 [0,π][0,\pi] 内。

所以 arctan⁡x\arctan x 表示“正切值等于 xx、并且落在规定范围内的那个角”,不是 1tan⁡x\frac1{\tan x}(那是 cot⁡x\cot x)。arcsin⁡x\arcsin x 也不是 1sin⁡x\frac1{\sin x}。

很多人记得“某个 tan⁡\tan 和 11+x2\frac1{1+x^2} 有关”,准确的关系是:arctan⁡x\arctan x 的导数等于 11+x2\frac1{1+x^2}。第四节会推导它;第二篇讲积分时,会从这里得到反正切的积分公式。

三、求极限:先看属于哪一种未定式#

看到一道极限题,先尝试直接代入。函数在这一点连续、分母不为 00,代入就结束了。

不能直接结束时,再看卡在哪里。代入以后看不出结果的形式叫未定式,常见的有七种:

00,∞∞,∞−∞,0⋅∞,1∞,00,∞0.\frac00,\quad\frac\infty\infty,\quad\infty-\infty,\quad0\cdot\infty,\quad1^\infty,\quad0^0,\quad\infty^0.

下面的 ①~④ 和 ⑥ 依次讲前五种。000^0 和 ∞0\infty^0 也是底数、指数都在变的幂,处理办法和 1∞1^\infty 一样:设 y=uvy=u^v,取对数,ln⁡y=vln⁡u\ln y=v\ln u。1∞1^\infty 型时 ln⁡u→ln⁡1=0\ln u\to\ln1=0、v→∞v\to\infty;000^0 型时 ln⁡u→−∞\ln u\to-\infty、v→0v\to0;∞0\infty^0 型时 ln⁡u→+∞\ln u\to+\infty、v→0v\to0。三种都变成 0⋅∞0\cdot\infty 型。求出 ln⁡y\ln y 的极限 AA 以后,y=eln⁡y→eAy=e^{\ln y}\to e^A(第六节练习 1.20 的 xxx^x 就是 000^0 型)。另外,⑤ 讲的振荡、⑦ 讲的递推数列不属于这七种形式,但也是求极限时常见的两类情况,放在一起讲。

它们叫“未定”,是因为同样的形式可以对应完全不同的结果。比如 x→0+x\to0^+ 时,xx→1\frac{x}{x}\to1,x2x→0\frac{x^2}{x}\to0,xx2→+∞\frac{x}{x^2}\to+\infty,三个都是 00\frac00 型。(第三个如果改成双侧 x→0x\to0,左边趋于 −∞-\infty、右边趋于 +∞+\infty,连“趋于哪个无穷”都说不上。)

① 00\frac00 型:分子分母同时趋于 00#

这只说明还要比较它们趋于 00 的快慢,并不表示结果是 00、11 或者不存在。

最先想:能不能因式分解、通分、乘共轭?第一节已经算过例子。之后还有等价无穷小、洛必达、泰勒三种工具,第六、七节再讲。

② ∞∞\frac\infty\infty 型:分子分母的绝对值都无限增大#

如果是两个多项式相除(叫有理分式),先提最高次项。设分子最高次项是 amxma_mx^m,分母最高次项是 bnxnb_nx^n,x→∞x\to\infty 时:

情形 结果 例子
m=nm=n 最高次系数之比 ambn\frac{a_m}{b_n} 3x2+x2x2−5→32\dfrac{3x^2+x}{2x^2-5}\to\dfrac32
m<nm<n 00 x+1x2→0\dfrac{x+1}{x^2}\to0
m>nm>n 趋于无穷,正负要看系数符号和 xx 的方向 x3x2+1\dfrac{x^3}{x^2+1}:x→+∞x\to+\infty 时 →+∞\to+\infty,x→−∞x\to-\infty 时 →−∞\to-\infty

这张表就是“分子分母同除以分母的最高次 xnx^n”的结果。除完以后,分母变成 bnb_n 加上一些带 1x\frac1x 某次方的项,趋于 bn≠0b_n\ne0;结果由分子决定。三个例子分别是:

  • m=nm=n:3x2+x2x2−5=3+1x2−5x2→3+02−0=32\frac{3x^2+x}{2x^2-5}=\frac{3+\frac1x}{2-\frac5{x^2}}\to\frac{3+0}{2-0}=\frac32。
  • m<nm<n:x+1x2=1x+1x21→0\frac{x+1}{x^2}=\frac{\frac1x+\frac1{x^2}}{1}\to0,分子的每一项都带着 1x\frac1x 的某次方。
  • m>nm>n:x3x2+1=x1+1x2\frac{x^3}{x^2+1}=\frac{x}{1+\frac1{x^2}},分母趋于 11,分子 xx 在 x→+∞x\to+\infty 时趋于 +∞+\infty,在 x→−∞x\to-\infty 时趋于 −∞-\infty。

③ ∞−∞\infty-\infty 型:两项都很大,却在相减#

例 求 x→+∞x\to+\infty 时 x2+x−x\sqrt{x^2+x}-x 的极限。

只说“两项都趋于无穷”得不出答案:两个大数相减,结果可大可小。用共轭,把它看成分母为 11 的分式,分子分母同乘 x2+x+x\sqrt{x^2+x}+x:

x2+x−x=(x2+x−x)(x2+x+x)x2+x+x=(x2+x)−x2x2+x+x=xx2+x+x.\sqrt{x^2+x}-x=\frac{(\sqrt{x^2+x}-x)(\sqrt{x^2+x}+x)}{\sqrt{x^2+x}+x}=\frac{(x^2+x)-x^2}{\sqrt{x^2+x}+x}=\frac{x}{\sqrt{x^2+x}+x}.

现在是 ∞∞\frac\infty\infty 型,分子分母同除以 xx。分母里的根号先从里面提出 x2x^2:x2+x=x2(1+1x)=x21+1x=∣x∣1+1x\sqrt{x^2+x}=\sqrt{x^2\left(1+\frac1x\right)}=\sqrt{x^2}\sqrt{1+\frac1x}=\lvert x\rvert\sqrt{1+\frac1x};x→+∞x\to+\infty,x>0x>0,所以 ∣x∣=x\lvert x\rvert=x。于是分母除以 xx 是 1+1x+1\sqrt{1+\frac1x}+1,分子除以 xx 是 11:

xx2+x+x=11+1x+1→11+1=12.\frac{x}{\sqrt{x^2+x}+x}=\frac{1}{\sqrt{1+\frac1x}+1}\to\frac1{1+1}=\frac12.

④ 0⋅∞0\cdot\infty 型:改写成商#

例如 x→0+x\to0^+ 时的 xln⁡xx\ln x:x→0x\to0,而 ln⁡x→−∞\ln x\to-\infty。可以写成

xln⁡x=ln⁡x1/x,x\ln x=\frac{\ln x}{1/x},

变成 ∞∞\frac\infty\infty 型。

把乘积改写成商的办法是:把其中一个因子“翻到分母上”,A⋅B=A1/BA\cdot B=\frac{A}{1/B}。翻哪一个?两种都可以:把 xx 翻下去,xln⁡x=ln⁡x1/xx\ln x=\frac{\ln x}{1/x},是 ∞∞\frac\infty\infty 型;把 ln⁡x\ln x 翻下去,xln⁡x=x1/ln⁡xx\ln x=\frac{x}{1/\ln x},是 00\frac00 型。选翻过去以后式子更简单的那个:第一种的分母是简单的 1x\frac1x,第二种的分母是 1ln⁡x\frac1{\ln x},后面计算起来复杂得多。

改写只是第一步,它把问题变成了 ∞∞\frac\infty\infty 型,还没有算出结果。这个例子要等到第六节有了洛必达法则才能算完(答案是 00,第六节有完整的计算)。

⑤ 振荡:看能不能夹住#

x→0x\to0 时,sin⁡1x\sin\frac1x 一直振荡,没有极限:xx 越靠近 00,1x\frac1x 越大,sin⁡1x\sin\frac1x 在 −1-1 和 11 之间来回得越来越快。

但 x2sin⁡1xx^2\sin\frac1x 不一样。因为 −1≤sin⁡1x≤1-1\le\sin\frac1x\le1,两边乘 x2x^2(x2≥0x^2\ge0,不等号方向不变):

−x2≤x2sin⁡1x≤x2.-x^2\le x^2\sin\frac1x\le x^2.

两边都趋于 00,夹在中间的也只能趋于 00。

xyy = x2y = −x2y = x2 sin(1/x) 图 5:x² sin(1/x) 在 0 附近剧烈振荡,但始终夹在 ±x² 之间,被压向 0。

夹逼的一个重要应用:lim⁡x→0sin⁡xx=1\lim\limits_{x\to0}\dfrac{\sin x}{x}=1。

这个极限是三角函数求导的基础。先看 0<x<π20<x<\frac\pi2。在单位圆中(图 6)取这样几个点:圆心 OO,A=(1,0)A=(1,0),B=(cos⁡x,sin⁡x)B=(\cos x,\sin x),即从 OAOA 转过角 xx 到达的圆上的点。过 AA 作圆的切线(垂直于 OAOA 的竖直线 x=1x=1),和射线 OBOB 的延长线交于 TT。TT 在圆外,三角形 OATOAT 在 AA 处是直角,tan⁡x=ATOA=AT\tan x=\frac{AT}{OA}=AT,所以 AT=tan⁡xAT=\tan x。比较三块面积:

  • 三角形 OABOAB:底 OA=1OA=1,高是 BB 的纵坐标 sin⁡x\sin x,面积 12sin⁡x\frac12\sin x;
  • 扇形 OABOAB:圆心角 xx(弧度),占整个圆的 x2π\frac{x}{2\pi},面积 x2π⋅π⋅12=x2\frac x{2\pi}\cdot\pi\cdot1^2=\frac x2;
  • 三角形 OATOAT:底 OA=1OA=1,高 AT=tan⁡xAT=\tan x,面积 12tan⁡x\frac12\tan x。

OABTxsin xtan x 图 6:三角形 OAB ⊂ 扇形 OAB ⊂ 三角形 OAT,所以 sin x < x < tan x。

三个图形一个套一个:三角形 OABOAB 的边 ABAB 是一条弦,在圆弧 ABAB 里面,所以三角形在扇形里;扇形的圆弧在切线 ATAT 和射线 OTOT 围成的三角形里面,所以扇形在三角形 OATOAT 里。面积依次变大,所以

12sin⁡x<12x<12tan⁡x.\frac12\sin x<\frac12x<\frac12\tan x.

各项乘 22,并把 tan⁡x\tan x 写成 sin⁡xcos⁡x\frac{\sin x}{\cos x}:

sin⁡x<x<sin⁡xcos⁡x.\sin x<x<\frac{\sin x}{\cos x}.

第一步,三项同时除以正数 sin⁡x\sin x(sin⁡xcos⁡x\frac{\sin x}{\cos x} 除以 sin⁡x\sin x 剩下 1cos⁡x\frac1{\cos x}):

1<xsin⁡x<1cos⁡x.1<\frac{x}{\sin x}<\frac1{\cos x}.

第二步,三个正数同时取倒数。取倒数会让大小关系反过来(比如 2<32<3,但 12>13\frac12>\frac13):

1>sin⁡xx>cos⁡x,即cos⁡x<sin⁡xx<1.1>\frac{\sin x}{x}>\cos x,\qquad\text{即}\quad\cos x<\frac{\sin x}{x}<1.

x→0+x\to0^+ 时 cos⁡x→1\cos x\to1,由夹逼定理,sin⁡xx→1\frac{\sin x}x\to1。这是右极限。

左极限:x<0x<0 时,令 t=−x>0t=-x>0。sin⁡\sin 是奇函数,sin⁡x=sin⁡(−t)=−sin⁡t\sin x=\sin(-t)=-\sin t,所以 sin⁡xx=−sin⁡t−t=sin⁡tt\frac{\sin x}{x}=\frac{-\sin t}{-t}=\frac{\sin t}{t}。x→0−x\to0^- 时 t→0+t\to0^+,由刚才的结论趋于 11。左右极限都是 11,所以 lim⁡x→0sin⁡xx=1\lim\limits_{x\to0}\frac{\sin x}x=1。

注意这个极限说的是 x→0x\to0。x→∞x\to\infty 时完全不同:sin⁡x\sin x 有界,1x→0\frac1x\to0,sin⁡xx\frac{\sin x}x 是“无穷小乘有界量”,极限是 00。

由此马上得到另一个常用的极限。

求 lim⁡x→01−cos⁡xx2\lim\limits_{x\to0}\dfrac{1-\cos x}{x^2},分三步。

第一步,把分子换掉:1−cos⁡xx2=2sin⁡2x2x2\frac{1-\cos x}{x^2}=\frac{2\sin^2\frac x2}{x^2}。

第二步,凑出 sin⁡uu\frac{\sin u}{u} 的形状。分子里的角是 x2\frac x2,所以分母也要凑出 (x2)2\left(\frac x2\right)^2。(x2)2=x24\left(\frac x2\right)^2=\frac{x^2}4,即 x2=4(x2)2x^2=4\left(\frac x2\right)^2:

2sin⁡2x2x2=2sin⁡2x24(x2)2=12(sin⁡x2x2)2.\frac{2\sin^2\frac x2}{x^2}=\frac{2\sin^2\frac x2}{4\left(\frac x2\right)^2}=\frac12\left(\frac{\sin\frac x2}{\frac x2}\right)^2.

第三步,令 u=x2u=\frac x2。x→0x\to0 时 u→0u\to0,sin⁡uu→1\frac{\sin u}u\to1;平方的极限等于极限的平方(乘法法则),所以

lim⁡x→01−cos⁡xx2=12⋅12=12.\lim_{x\to0}\frac{1-\cos x}{x^2}=\frac12\cdot1^2=\frac12.

⑥ 1∞1^\infty 型:底数趋于 11,指数趋于无穷#

ee 的定义里 nn 是正整数。换成连续变化的 xx 也对,并且有一个等价的写法:

lim⁡x→∞(1+1x)x=e,lim⁡t→0(1+t)1/t=e.\lim_{x\to\infty}\left(1+\frac1x\right)^x=e,\qquad \lim_{t\to0}(1+t)^{1/t}=e.

不能只是把整数 nn 换成实数 xx 就说证完了。nn 只取 1,2,3,…1,2,3,\dots,xx 还会取中间的值;只在整数点上靠近一个数,不保证在所有实数上都靠近它。比如 sin⁡(2πn)\sin(2\pi n) 在每个整数 nn 处都是 00,可 x→∞x\to\infty 时 sin⁡(2πx)\sin(2\pi x) 一直在摆动,没有极限。

理由在第二节的选读部分:在那里我们已经证明了 ln⁡(1+t)t→1\frac{\ln(1+t)}{t}\to1,而且 tt 从正负两侧趋于 00 都对。于是

(1+t)1/t=eln⁡[(1+t)1/t]=e1tln⁡(1+t)=eln⁡(1+t)t→e1=e.(1+t)^{1/t}=e^{\ln\left[(1+t)^{1/t}\right]}=e^{\frac1t\ln(1+t)}=e^{\frac{\ln(1+t)}{t}}\to e^1=e.

(第一个等号用 A=eln⁡AA=e^{\ln A},第二个用 ln⁡Ar=rln⁡A\ln A^r=r\ln A;最后一步,指数趋于 11,exe^x 连续。)

再令 t=1xt=\frac1x,(1+1x)x=(1+t)1/t\left(1+\frac1x\right)^x=(1+t)^{1/t}。x→+∞x\to+\infty 时 t→0+t\to0^+,x→−∞x\to-\infty 时 t→0−t\to0^-,两侧都已经证明过,所以得到第一个式子。

例 lim⁡x→∞(1+2x)x\lim\limits_{x\to\infty}\left(1+\frac2x\right)^x。底数里加的是 2x\frac2x,要凑成 (1+1u)u\left(1+\frac1u\right)^u 的样子,就令 2x=1u\frac2x=\frac1u,即 x=2ux=2u,x→∞x\to\infty 时 u→∞u\to\infty。再用 A2u=(Au)2A^{2u}=\left(A^u\right)^2:

(1+2x)x=(1+1u)2u=[(1+1u)u]2→e2.\left(1+\frac2x\right)^x=\left(1+\frac1u\right)^{2u}=\left[\left(1+\frac1u\right)^u\right]^2\to e^2.

(方括号里趋于 ee,平方的极限是极限的平方。)

1∞1^\infty 也是未定式。底数趋于 11,而 11 的任何次方都是 11;指数趋于无穷,会把底数和 11 之间那一点点差距不断放大。结果取决于底数靠近 11 的速度和指数增长的速度。比如(x→+∞x\to+\infty):

  • (1+1x2)x=[(1+1x2)x2]1/x\left(1+\frac1{x^2}\right)^x=\left[\left(1+\frac1{x^2}\right)^{x^2}\right]^{1/x}。方括号里趋于 ee,外面的指数 1x→0\frac1x\to0,整体趋于 e0=1e^0=1。底数靠近 11 太快,指数来不及把差距放大。
  • (1+1x)x2=[(1+1x)x]x\left(1+\frac1x\right)^{x^2}=\left[\left(1+\frac1x\right)^x\right]^x。方括号里趋于 e>1e>1,再自乘越来越多次,趋于 +∞+\infty。指数增长太快。
  • (1+1x)x→e\left(1+\frac1x\right)^x\to e:两者正好平衡。更一般的办法是第二节讲的取对数,第七节还会用泰勒公式再算一次。

⑦ 数列递推:先证明收敛,再求极限#

例 a1=1a_1=1,an+1=2+ana_{n+1}=\sqrt{2+a_n},求 lim⁡n→∞an\lim\limits_{n\to\infty}a_n。

先算几项找感觉:a1=1a_1=1,a2=3≈1.732a_2=\sqrt3\approx1.732,a3=3.732≈1.932a_3=\sqrt{3.732}\approx1.932,a4≈1.983a_4\approx1.983。看起来在递增,并且往 22 靠。下面严格证明。

第一步:所有项都在 [1,2)[1,2) 里。 用归纳法。

  • n=1n=1:a1=1a_1=1,在 [1,2)[1,2) 里。
  • 假设 1≤an<21\le a_n<2。各边加 22,3≤2+an<43\le2+a_n<4;各边都是正数,开方不改变不等号方向,3≤an+1<2\sqrt3\le a_{n+1}<2。而 3≈1.73>1\sqrt3\approx1.73>1,所以 an+1a_{n+1} 也在 [1,2)[1,2) 里。

由数学归纳法,所有的 ana_n 都在 [1,2)[1,2) 里。

为什么偏偏证明“小于 22”?因为前面算的几项在往 22 靠。其实证明 an<3a_n<3 或者 an<100a_n<100 也能保证有上界(归纳法同样走得通),只是“小于 22”在下一步证明递增时正好用得上。

第二步:数列递增。 要证 an+1>ana_{n+1}>a_n,即 2+an>an\sqrt{2+a_n}>a_n。两边都是正数,比较它们的平方就行:只要证 2+an>an22+a_n>a_n^2。把 ana_n 简写成 aa,看两边的差:

(2+a)−a2=−(a2−a−2)=−(a−2)(a+1)=(2−a)(a+1).(2+a)-a^2=-(a^2-a-2)=-(a-2)(a+1)=(2-a)(a+1).

由第一步,1≤a<21\le a<2,所以 2−a>02-a>0,a+1>0a+1>0,乘积大于 00。于是 2+a>a22+a>a^2,开方得 2+a>a\sqrt{2+a}>a。把 aa 换回 ana_n,就是 an+1=2+an>ana_{n+1}=\sqrt{2+a_n}>a_n。这对每个 nn 都成立,所以数列递增。

第三步:求极限。 数列递增且有上界 22,由单调有界定理,它收敛。把极限叫 LL。在递推式 an+1=2+ana_{n+1}=\sqrt{2+a_n} 两边令 n→∞n\to\infty。左边:ana_n 是 a1,a2,a3,…a_1,a_2,a_3,\dots,an+1a_{n+1} 是 a2,a3,a4,…a_2,a_3,a_4,\dots,只是去掉了第一项,后面的项照样越来越靠近 LL,所以极限也是 LL。右边,因为  \sqrt{\ } 是连续函数,极限可以直接代进去,2+an→2+L\sqrt{2+a_n}\to\sqrt{2+L}。于是

L=2+L ⟹ L2=2+L ⟹ L2−L−2=0 ⟹ (L−2)(L+1)=0,L=\sqrt{2+L}\ \Longrightarrow\ L^2=2+L\ \Longrightarrow\ L^2-L-2=0\ \Longrightarrow\ (L-2)(L+1)=0,

所以 L=2L=2 或 L=−1L=-1。第一步证明了各项都 ≥1\ge1;由保号性的推论(“开始之前”,极限的三条基本性质后面),各项都 ≥1\ge1 的数列,极限也 ≥1\ge1。所以 L=−1L=-1 不可能,L=2L=2。

四、导数与求导法则#

导数是什么#

函数 ff 在 aa 点的导数,衡量的是 xx 在 aa 附近变化时,f(x)f(x) 变化得有多快。

取 aa 附近的另一个点 a+ha+h。从 aa 到 a+ha+h,输入变化了 hh,输出变化了 f(a+h)−f(a)f(a+h)-f(a),平均变化率是

f(a+h)−f(a)h.\frac{f(a+h)-f(a)}{h}.

几何上,这是图像上两点 P(a,f(a))P(a,f(a)) 与 Q(a+h,f(a+h))Q(a+h,f(a+h)) 连线(叫割线)的斜率。让 h→0h\to0,QQ 沿着曲线滑向 PP,割线就转向一个极限位置,那条直线就是 PP 处的切线。于是定义

f′(a)=lim⁡h→0f(a+h)−f(a)h,f'(a)=\lim_{h\to0}\frac{f(a+h)-f(a)}{h},

如果这个极限存在,就说 ff 在 aa 处可导。

xyaOPQ切线割线 PQa + h 图 7:Q 沿曲线滑向 P 时,割线 PQ 的斜率趋于切线的斜率,这个极限就是导数。

导函数。 上面的 f′(a)f'(a) 是在一个固定的点 aa 处求出的一个数。对定义域里的每一个点 xx 都这样求,每个 xx 对应一个导数值,就得到一个新的函数 f′(x)f'(x)(有时写成 x↦f′(x)x\mapsto f'(x),读作“xx 对应到 f′(x)f'(x)”),叫 ff 的导函数,通常也简称导数。比如下面会算出 x2x^2 在每一点 xx 处的导数是 2x2x,导函数就是 2x2x;它在 a=3a=3 处的值 66,就是 x2x^2 在 33 处的导数。

导数的记号:f′(x)f'(x)、y′y'、dydx\dfrac{dy}{dx}、ddxf(x)\dfrac{d}{dx}f(x) 表示的是同一个东西。最后一种里,ddx\frac{d}{dx} 读作“对 xx 求导”,是一个运算符号,不是乘法:ddxf(x)\frac{d}{dx}f(x) 就是“对 f(x)f(x) 做求导这个运算”。dydx\frac{dy}{dx} 是莱布尼茨的写法,可以读成“yy 的微小变化除以 xx 的微小变化”,提醒我们导数是变化量之比的极限。

物理含义:若 s(t)s(t) 是 tt 时刻走过的路程,s(t+h)−s(t)h\frac{s(t+h)-s(t)}{h} 是这段时间里的平均速度,s′(t)s'(t) 就是 tt 时刻的瞬时速度。本篇开头“这组讲义怎么读”里列的第二个问题(某一瞬间的速度怎么算)就这样回答了:时间间隔 hh 不能取 00(那会得到 00\frac00),我们看的是 hh 趋于 00 时,平均速度靠近哪个数。

例:用定义求 x2x^2 的导数。

(x+h)2−x2h=x2+2xh+h2−x2h=2xh+h2h=2x+h→2x(h→0).\frac{(x+h)^2-x^2}{h}=\frac{x^2+2xh+h^2-x^2}{h}=\frac{2xh+h^2}{h}=2x+h\to2x\quad(h\to0).

所以 (x2)′=2x(x^2)'=2x。中间约掉 hh 的那一步,和第一节约掉 x−1x-1 道理相同:极限只看 h≠0h\ne0 的情形。

导数定义的几种变形。 定义里的增量 hh 换成别的趋于 00 的量,道理不变。若 ff 在 x0x_0 处可导:

  • lim⁡x→x0f(x)−f(x0)x−x0=f′(x0)\displaystyle\lim_{x\to x_0}\frac{f(x)-f(x_0)}{x-x_0}=f'(x_0)。在定义 lim⁡h→0f(x0+h)−f(x0)h\lim\limits_{h\to0}\frac{f(x_0+h)-f(x_0)}{h} 里令 x=x0+hx=x_0+h,即 h=x−x0h=x-x_0:分子变成 f(x)−f(x0)f(x)-f(x_0),分母变成 x−x0x-x_0,h→0h\to0 就是 x→x0x\to x_0。几何上,xx 是滑向 x0x_0 的动点。
  • lim⁡h→0f(x0+2h)−f(x0)h=2f′(x0)\displaystyle\lim_{h\to0}\frac{f(x_0+2h)-f(x_0)}{h}=2f'(x_0)。分子里的增量是 2h2h,分母只有 hh。分子分母同乘 22,凑成 f(x0+2h)−f(x0)2h⋅2\frac{f(x_0+2h)-f(x_0)}{2h}\cdot2。令 u=2hu=2h,h→0h\to0 时 u→0u\to0,前一个因子就是 f(x0+u)−f(x0)u→f′(x0)\frac{f(x_0+u)-f(x_0)}{u}\to f'(x_0),再乘 22。
  • 一般地,lim⁡h→0f(x0+ah)−f(x0−bh)h=(a+b)f′(x0)\displaystyle\lim_{h\to0}\frac{f(x_0+ah)-f(x_0-bh)}{h}=(a+b)f'(x_0)。理由见下面的框。

可导的点与不可导的点。 导数是割线斜率的极限,这个极限不一定存在。最典型的两种情况:

xyy = |x|尖角xyy = ∛x竖直切线 图 8:左边 y = |x| 在 0 处有尖角,从右边看割线斜率恒为 1,从左边看恒为 −1,不存在唯一的切线;右边 y = ∛x 在 0 处切线竖直,割线斜率趋于无穷大。两者在 0 处都连续,却都不可导。

  • y=∣x∣y=\lvert x\rvert 在 00 处:差商是 f(0+h)−f(0)h=∣h∣−0h\frac{f(0+h)-f(0)}{h}=\frac{\lvert h\rvert-0}{h}。h>0h>0 时 ∣h∣=h\lvert h\rvert=h,差商是 11;h<0h<0 时 ∣h∣=−h\lvert h\rvert=-h,差商是 −1-1。右极限 11,左极限 −1-1,不相等,所以差商没有极限,∣x∣\lvert x\rvert 在 00 处不可导。
  • y=x3y=\sqrt[3]x 在 00 处:差商是 h3−0h\frac{\sqrt[3]h-0}{h}。把 hh 写成 (h3)3\left(\sqrt[3]h\right)^3,约分:h3h=h3(h3)3=1(h3)2\frac{\sqrt[3]h}{h}=\frac{\sqrt[3]h}{\left(\sqrt[3]h\right)^3}=\frac1{\left(\sqrt[3]h\right)^2}。不管 hh 是正是负,分母都是正数,并且趋于 00,所以差商 →+∞\to+\infty。导数要求极限是一个有限的数,趋于无穷不算,所以不可导。几何上,切线是竖直的 yy 轴,竖直线没有有限的斜率。

一组基础导数#

下面这张表是后面所有求导计算的基础,要非常熟:

函数 导数 条件
常数 cc 00
xnx^n nxn−1nx^{n-1} nn 为正整数时 xx 任意;nn 为负整数时 x≠0x\ne0;一般实数 nn 时在 x>0x>0 上成立(像 x1/3x^{1/3} 这样在负数上也有定义的,在 x≠0x\ne0 处同样成立)
exe^x exe^x
axa^x axln⁡aa^x\ln a a>0a>0
ln⁡∣x∣\ln\lvert x\rvert 1x\dfrac1x x≠0x\ne0
sin⁡x\sin x cos⁡x\cos x
cos⁡x\cos x −sin⁡x-\sin x
tan⁡x\tan x 1cos⁡2x\dfrac1{\cos^2x} cos⁡x≠0\cos x\ne0
cot⁡x=cos⁡xsin⁡x\cot x=\dfrac{\cos x}{\sin x}(余切) −1sin⁡2x-\dfrac1{\sin^2x} sin⁡x≠0\sin x\ne0
arcsin⁡x\arcsin x 11−x2\dfrac1{\sqrt{1-x^2}} ∣x∣<1\lvert x\rvert<1
arccos⁡x\arccos x −11−x2-\dfrac1{\sqrt{1-x^2}} ∣x∣<1\lvert x\rvert<1
arctan⁡x\arctan x 11+x2\dfrac1{1+x^2}

这些都能从导数的定义和前面的极限推出来。下面的框先推常数、xnx^n(正整数)、exe^x、sin⁡x\sin x、cos⁡x\cos x;axa^x、ln⁡x\ln x、一般的 xnx^n、tan⁡x\tan x、cot⁡x\cot x 要用到求导法则,在“求导法则”一小节后面推出;反三角函数在本节最后一小节推出。只想先学会用的话,可以先跳过这个框。

导数的另一种写法:用直线近似曲线#

在讲求导法则之前,先把导数的定义换一种写法。这种写法后面会反复用到。

假设 f′(a)=kf'(a)=k,也就是 f(a+h)−f(a)h→k\frac{f(a+h)-f(a)}{h}\to k。把差商和 kk 的差记作 α(h)\alpha(h):α(h)=f(a+h)−f(a)h−k\alpha(h)=\frac{f(a+h)-f(a)}{h}-k,它在 h→0h\to0 时趋于 00。两边乘 hh,整理得

f(a+h)=f(a)+kh+α(h) h.f(a+h)=f(a)+kh+\alpha(h)\,h.

最后一项 α(h)h\alpha(h)h 是“趋于 00 的量乘 hh”,它比 hh 本身小得多:它除以 hh 以后(等于 α(h)\alpha(h))仍然趋于 00。这样的量我们记作 o(h)o(h),读作“比 hh 高阶的无穷小”。于是

f(a+h)=f(a)+f′(a)h+o(h).f(a+h)=f(a)+f'(a)h+o(h).

这个式子的意思是:在 aa 附近,函数值可以用一条直线 f(a)+f′(a)hf(a)+f'(a)h 来近似,误差比 hh 还要小得多。为什么说这是直线:令 x=a+hx=a+h,h=x−ah=x-a,它就是 y=f(a)+f′(a)(x−a)y=f(a)+f'(a)(x-a),正是过点 (a,f(a))(a,f(a))、斜率 f′(a)f'(a) 的点斜式直线,也就是切线。

反过来,如果对某个常数 kk 有 f(a+h)=f(a)+kh+o(h)f(a+h)=f(a)+kh+o(h),两边减去 f(a)f(a)、除以 hh:f(a+h)−f(a)h=k+o(h)h\frac{f(a+h)-f(a)}{h}=k+\frac{o(h)}{h};h→0h\to0 时 o(h)h→0\frac{o(h)}h\to0,所以差商趋于 kk,f′(a)=kf'(a)=k。两种说法完全等价。

这个写法马上告诉我们几件事。

可导一定连续。 回顾“连续”:ff 在 aa 处连续,就是 h→0h\to0 时 f(a+h)→f(a)f(a+h)\to f(a),也就是 f(a+h)−f(a)→0f(a+h)-f(a)\to0。由上式,f(a+h)−f(a)=f′(a)h+o(h)f(a+h)-f(a)=f'(a)h+o(h)。f′(a)f'(a) 是一个固定的数,f′(a)h→0f'(a)h\to0;o(h)o(h) 除以 hh 都趋于 00,它本身更趋于 00。所以 f(a+h)−f(a)→0f(a+h)-f(a)\to0,ff 在 aa 处连续。

这样的 kk 只有一个。 如果 k1k_1、k2k_2 都满足上式:f(a+h)=f(a)+k1h+o1(h)f(a+h)=f(a)+k_1h+o_1(h),f(a+h)=f(a)+k2h+o2(h)f(a+h)=f(a)+k_2h+o_2(h)。(两个误差记成 o1o_1、o2o_2:o(h)o(h) 只表示“某个比 hh 高阶的量”,不代表一个确定的数,两个式子里的误差一般不一样,不能互相抵消成 00。)两式相减,0=(k1−k2)h+o1(h)−o2(h)0=(k_1-k_2)h+o_1(h)-o_2(h),即 k1−k2=o2(h)h−o1(h)hk_1-k_2=\frac{o_2(h)}{h}-\frac{o_1(h)}{h}。h→0h\to0 时右边趋于 0−0=00-0=0,左边是不变的常数,所以 k1−k2=0k_1-k_2=0。所以在所有过 (a,f(a))(a,f(a)) 的直线里,只有切线能让误差比 hh 小得多。导数因此常被叫作函数在这一点的最佳线性近似。

乘积法则可以“算出来”。 设 uu、vv 在 aa 处可导,把它们各自写成直线加误差:

u(a+h)=u(a)+u′(a)h+o1(h),v(a+h)=v(a)+v′(a)h+o2(h).u(a+h)=u(a)+u'(a)h+o_1(h),\qquad v(a+h)=v(a)+v'(a)h+o_2(h).

两式相乘,每边三项,一共九项。按 hh 的次数整理:

  • 常数项:u(a)v(a)u(a)v(a);
  • hh 的一次项:u′(a)h⋅v(a)+u(a)⋅v′(a)h=[u′(a)v(a)+u(a)v′(a)]hu'(a)h\cdot v(a)+u(a)\cdot v'(a)h=[u'(a)v(a)+u(a)v'(a)]h;
  • 其余七项:u′(a)v′(a)h2u'(a)v'(a)h^2;u(a)o2(h)u(a)o_2(h)、v(a)o1(h)v(a)o_1(h);u′(a)h⋅o2(h)u'(a)h\cdot o_2(h)、v′(a)h⋅o1(h)v'(a)h\cdot o_1(h);o1(h)o2(h)o_1(h)o_2(h)。u(a)u(a)、v(a)v(a)、u′(a)u'(a)、v′(a)v'(a) 都是固定的数,所以每一项除以 hh 后都趋于 00(比如 u(a)o2(h)h=u(a)⋅o2(h)h→0\frac{u(a)o_2(h)}{h}=u(a)\cdot\frac{o_2(h)}h\to0,o1(h)o2(h)h=o1(h)h⋅o2(h)→0\frac{o_1(h)o_2(h)}{h}=\frac{o_1(h)}h\cdot o_2(h)\to0),它们合起来是一个 o(h)o(h)。

所以 u(a+h)v(a+h)=u(a)v(a)+[u′(a)v(a)+u(a)v′(a)]h+o(h)u(a+h)v(a+h)=u(a)v(a)+[u'(a)v(a)+u(a)v'(a)]h+o(h)。所以 uvuv 的一次项系数,也就是 (uv)′(a)(uv)'(a),等于 u′(a)v(a)+u(a)v′(a)u'(a)v(a)+u(a)v'(a)。哪天忘了乘积法则,可以用这个办法当场推出来。

求导法则:怎样把零件组装起来#

拿到一个式子,先看它最外面是什么运算:

  • 相加:分别求导再相加,(u±v)′=u′±v′(u\pm v)'=u'\pm v';常数因子可以提出来,(cu)′=cu′(cu)'=cu'。
  • 相乘:(uv)′=u′v+uv′(uv)'=u'v+uv'。
  • 相除:(uv)′=u′v−uv′v2\left(\dfrac uv\right)'=\dfrac{u'v-uv'}{v^2},要求 v≠0v\ne0。
  • 函数套函数:外层求导,再乘内层导数。若 y=f(u)y=f(u),u=g(x)u=g(x),则
dydx=dydu⋅dudx,即[f(g(x))]′=f′(g(x))⋅g′(x).\frac{dy}{dx}=\frac{dy}{du}\cdot\frac{du}{dx},\qquad\text{即}\quad[f(g(x))]'=f'(g(x))\cdot g'(x).

这条叫链式法则。

用这些法则补全基础导数表。

axa^x:ax=exln⁡aa^x=e^{x\ln a},外层是 eue^u,求导还是 eue^u;内层是 xln⁡ax\ln a,ln⁡a\ln a 是常数,求导得 ln⁡a\ln a。所以 (ax)′=exln⁡a⋅ln⁡a=axln⁡a(a^x)'=e^{x\ln a}\cdot\ln a=a^x\ln a。

ln⁡x\ln x(x>0x>0):设 y=ln⁡xy=\ln x,则 ey=xe^y=x。xx 增加 hh 时,把函数值的增加量记作 kk:k=ln⁡(x+h)−ln⁡xk=\ln(x+h)-\ln x,要算的就是差商 kh\frac kh 的极限。由 kk 的定义,y+k=ln⁡(x+h)y+k=\ln(x+h),两边取 ee 的指数得 ey+k=x+he^{y+k}=x+h,所以 h=(x+h)−x=ey+k−ey=eyek−ey=ey(ek−1)h=(x+h)-x=e^{y+k}-e^y=e^ye^k-e^y=e^y(e^k-1)。要算的差商是 kh\frac kh,但 hh 是用 kk 表示出来的,而我们知道 ek−1k→1\frac{e^k-1}k\to1,所以先算它的倒数 hk\frac hk:h→0h\to0 时 k→0k\to0(ln⁡\ln 连续),于是 hk=ey⋅ek−1k→ey\frac hk=e^y\cdot\frac{e^k-1}{k}\to e^y,再取倒数,kh→1ey\frac kh\to\frac1{e^y}。(倒数的极限 eye^y 不是 00,所以可以这样取倒数。)所以 (ln⁡x)′=1ey=1x(\ln x)'=\frac1{e^y}=\frac1x。

若 x<0x<0,∣x∣=−x\lvert x\rvert=-x,ln⁡∣x∣=ln⁡(−x)\ln\lvert x\rvert=\ln(-x)。用链式法则:外层 ln⁡u\ln u 求导得 1u=1−x\frac1u=\frac1{-x},内层 u=−xu=-x 求导得 −1-1,相乘 1−x⋅(−1)=1x\frac{1}{-x}\cdot(-1)=\frac1x。两种情形合起来:(ln⁡∣x∣)′=1x(\ln\lvert x\rvert)'=\frac1x。

任意实数次幂(x>0x>0):由 A=eln⁡AA=e^{\ln A} 和 ln⁡xn=nln⁡x\ln x^n=n\ln x,xn=enln⁡xx^n=e^{n\ln x}。外层 eue^u 求导还是 eu=xne^u=x^n;内层 nln⁡xn\ln x 求导得 nx\frac nx(nn 是常数)。所以 (xn)′=xn⋅nx=nxn−1(x^n)'=x^n\cdot\frac nx=nx^{n-1}(xnx=xn−1\frac{x^n}{x}=x^{n-1})。比如 (x)′=(x1/2)′=12x−1/2=12x(\sqrt x)'=(x^{1/2})'=\frac12x^{-1/2}=\frac1{2\sqrt x}(x−1/2=1x1/2=1xx^{-1/2}=\frac1{x^{1/2}}=\frac1{\sqrt x})。

tan⁡x\tan x:tan⁡x=sin⁡xcos⁡x\tan x=\frac{\sin x}{\cos x},用商的法则 (uv)′=u′v−uv′v2\left(\frac uv\right)'=\frac{u'v-uv'}{v^2},这里 u=sin⁡xu=\sin x,u′=cos⁡xu'=\cos x,v=cos⁡xv=\cos x,v′=−sin⁡xv'=-\sin x:(sin⁡xcos⁡x)′=cos⁡x⋅cos⁡x−sin⁡x⋅(−sin⁡x)cos⁡2x=cos⁡2x+sin⁡2xcos⁡2x=1cos⁡2x\left(\dfrac{\sin x}{\cos x}\right)'=\dfrac{\cos x\cdot\cos x-\sin x\cdot(-\sin x)}{\cos^2x}=\dfrac{\cos^2x+\sin^2x}{\cos^2x}=\dfrac1{\cos^2x}(最后用了 sin⁡2x+cos⁡2x=1\sin^2x+\cos^2x=1)。cot⁡x=cos⁡xsin⁡x\cot x=\frac{\cos x}{\sin x} 同理:(−sin⁡x)sin⁡x−cos⁡x⋅cos⁡xsin⁡2x=−(sin⁡2x+cos⁡2x)sin⁡2x=−1sin⁡2x\dfrac{(-\sin x)\sin x-\cos x\cdot\cos x}{\sin^2x}=\dfrac{-(\sin^2x+\cos^2x)}{\sin^2x}=-\dfrac1{\sin^2x}。

五个例子#

例 1 y=(1+x2)5y=(1+x^2)^5。

最外层是“五次方”,里面是 1+x21+x^2。

  • 外层求导:5(1+x2)45(1+x^2)^4;
  • 内层求导:2x2x;
  • 相乘:y′=10x(1+x2)4y'=10x(1+x^2)^4。

为什么不先把五次方展开?可以展开,但会多算很多;把 1+x21+x^2 当成一个整体,用链式法则更省事。

例 2 y=x2exy=x^2e^x。

最外层是相乘:

y′=(x2)′ex+x2(ex)′=2x⋅ex+x2⋅ex=ex(x2+2x).y'=(x^2)'e^x+x^2(e^x)'=2x\cdot e^x+x^2\cdot e^x=e^x(x^2+2x).

例 3 y=ln⁡(1+x2)y=\ln(1+x^2)。

最外层是对数,里面是 1+x21+x^2:

y′=11+x2×2x=2x1+x2.y'=\frac1{1+x^2}\times2x=\frac{2x}{1+x^2}.

例 4(多层嵌套) y=sin⁡(e2x)y=\sin\left(e^{2x}\right)。

从外往里一层一层剥:最外层是 sin⁡\sin,往里是 eue^{u},再往里是 2x2x。每剥一层乘一个导数:

y′=cos⁡(e2x)⋅e2x⋅2=2e2xcos⁡(e2x).y'=\cos\left(e^{2x}\right)\cdot e^{2x}\cdot2=2e^{2x}\cos\left(e^{2x}\right).

例 5(底数和指数都在变) y=xxy=x^x,x>0x>0。

第二节说过,底数和指数都在变时先取对数:ln⁡y=xln⁡x\ln y=x\ln x。两边对 xx 求导。左边的 yy 本身是 xx 的函数,ln⁡y\ln y 是“ln⁡\ln 套着 yy”,按链式法则,外层 ln⁡\ln 求导得 1y\frac1y,再乘内层 yy 的导数 y′y',得到 y′y\frac{y'}{y};右边用乘积法则:

y′y=1⋅ln⁡x+x⋅1x=ln⁡x+1⟹y′=y(ln⁡x+1)=xx(ln⁡x+1).\frac{y'}{y}=1\cdot\ln x+x\cdot\frac1x=\ln x+1\quad\Longrightarrow\quad y'=y(\ln x+1)=x^x(\ln x+1).

反三角函数的导数#

先说一条一般的规则:反函数的导数是原函数导数的倒数。若 y=f(x)y=f(x) 的反函数是 x=g(y)x=g(y),并且在对应点 f′(x)≠0f'(x)\ne0,那么

dydx=1 dx/dy .\frac{dy}{dx}=\frac{1}{\ dx/dy\ }.

记号的意思:dydx\frac{dy}{dx} 是 yy 随 xx 的变化率,dxdy\frac{dx}{dy} 是反过来 xx 随 yy 的变化率。哪个好算就先算哪个,再取倒数。比如 y=xy=\sqrt x,反过来是 x=y2x=y^2,dxdy=2y\frac{dx}{dy}=2y。在 x=4x=4、y=2y=2 处,dxdy=4\frac{dx}{dy}=4,所以 dydx=14\frac{dy}{dx}=\frac14。直接用公式验证:(x)′=12x(\sqrt x)'=\frac1{2\sqrt x},x=4x=4 时是 14\frac14,一致。

直观上,xx 变化一点导致 yy 变化 33 倍那么多,反过来 yy 变化一点就只导致 xx 变化 13\frac13 倍那么多。几何上,反函数的图像是原图像沿 y=xy=x 翻折,翻折把斜率 kk 的直线变成斜率 1k\frac1k 的直线。(证明放在第八节。)

现在推导 arctan⁡x\arctan x 的导数。设 y=arctan⁡xy=\arctan x,就有 x=tan⁡yx=\tan y,其中 y∈(−π2,π2)y\in\left(-\frac\pi2,\frac\pi2\right)。

把 xx 看成 yy 的函数:dxdy=1cos⁡2y\frac{dx}{dy}=\frac1{\cos^2y}。由反函数求导法则:

dydx=11/cos⁡2y=cos⁡2y=11+tan⁡2y=11+x2.\frac{dy}{dx}=\frac{1}{1/\cos^2y}=\cos^2y=\frac{1}{1+\tan^2y}=\frac1{1+x^2}.

最后一步用了 tan⁡y=x\tan y=x。

换一种看法:在 tan⁡y=x\tan y=x 两边直接对 xx 求导。左边的 yy 随 xx 变化,tan⁡y\tan y 是“tan⁡\tan 套着 y(x)y(x)”,按链式法则求导得 1cos⁡2y⋅y′\frac1{\cos^2y}\cdot y';右边 xx 对 xx 求导是 11。于是 1cos⁡2yy′=1\frac{1}{\cos^2y}y'=1,结果一样。这种“把 yy 当成 xx 的函数,两边一起求导”的做法叫隐函数求导,第八节会系统地讲。

arcsin⁡x\arcsin x:设 y=arcsin⁡xy=\arcsin x,x=sin⁡yx=\sin y,−π2<y<π2-\frac\pi2<y<\frac\pi2。dxdy=cos⁡y\frac{dx}{dy}=\cos y,所以 y′=1cos⁡yy'=\frac1{\cos y}。要把 cos⁡y\cos y 换成 xx:cos⁡2y=1−sin⁡2y=1−x2\cos^2y=1-\sin^2y=1-x^2。开方取正号还是负号?yy 在 (−π2,π2)\left(-\frac\pi2,\frac\pi2\right) 里,对应单位圆的右半边(第一、四象限),那里横坐标 cos⁡y>0\cos y>0,所以取正号:cos⁡y=1−x2\cos y=\sqrt{1-x^2}。所以 (arcsin⁡x)′=11−x2(\arcsin x)'=\frac1{\sqrt{1-x^2}}。分母不能为 00,要求 1−x2>01-x^2>0,即 ∣x∣<1\lvert x\rvert<1。x→±1x\to\pm1 时分母趋于 00,导数趋于无穷,图像的切线越来越陡,在 x=±1x=\pm1 处是竖直的,没有有限的导数。

arccos⁡x\arccos x:不必重新算一遍,借用 arcsin⁡x\arcsin x。设 y=arcsin⁡xy=\arcsin x,即 sin⁡y=x\sin y=x,−π2≤y≤π2-\frac\pi2\le y\le\frac\pi2。由诱导公式 cos⁡(π2−y)=sin⁡y=x\cos\left(\frac\pi2-y\right)=\sin y=x。π2−y\frac\pi2-y 在什么范围?把 −π2≤y≤π2-\frac\pi2\le y\le\frac\pi2 各边乘 −1-1(不等号反向)再加 π2\frac\pi2,得 0≤π2−y≤π0\le\frac\pi2-y\le\pi,正是 arccos⁡\arccos 的范围。在 [0,π][0,\pi] 里、余弦等于 xx 的角就是 arccos⁡x\arccos x,所以 arccos⁡x=π2−y=π2−arcsin⁡x\arccos x=\frac\pi2-y=\frac\pi2-\arcsin x。两边对 xx 求导(常数 π2\frac\pi2 的导数是 00):(arccos⁡x)′=0−11−x2=−11−x2(\arccos x)'=0-\frac1{\sqrt{1-x^2}}=-\frac1{\sqrt{1-x^2}}。

五、中值定理:用导数控制函数的变化#

导数只告诉我们函数在一个点附近的变化。可很多问题关心的是一整段区间:函数在 [a,b][a,b] 上是不是一直在增加?f(b)−f(a)f(b)-f(a) 有多大?连接“一点的导数”和“一段区间上的变化”的,是这一节的中值定理。后面第六节的洛必达法则、第七节的泰勒公式余项、第十节判断单调性,都要用到它,所以先讲。

费马定理:极值点处导数为零#

设 x0x_0 是区间内部的一点。如果存在一个以 x0x_0 为中心的小区间 (x0−δ,x0+δ)(x_0-\delta,x_0+\delta),在这个小区间里所有的 xx 都满足 f(x)≤f(x0)f(x)\le f(x_0),就说 ff 在 x0x_0 处取得极大值,x0x_0 叫极大值点。极小值类似(改成 f(x)≥f(x0)f(x)\ge f(x_0))。

极值只和附近的点比,是一个局部的概念。极大值不一定是整个定义域上的最大值:一个函数可以有好几个极大值,其中有的比别处的极小值还小。

费马定理 若 ff 在内部点 x0x_0 处取得极大值或极小值,并且在 x0x_0 可导,那么 f′(x0)=0f'(x_0)=0。

比如 f(x)=1−x2f(x)=1-x^2 在 x=0x=0 处取得极大值 11(山顶),f′(x)=−2xf'(x)=-2x,f′(0)=0f'(0)=0:山顶处的切线是水平的。

“内部”这个条件不能少。f(x)=xf(x)=x 在 [0,1][0,1] 上的最大值在端点 11 处取得,那里导数是 11,不是 00:端点只有一侧可以比较,证明的后半段用不上。

罗尔定理#

罗尔定理 若 ff 在 [a,b][a,b] 上连续、在 (a,b)(a,b) 内可导,且 f(a)=f(b)f(a)=f(b),则存在 ξ∈(a,b)\xi\in(a,b),使 f′(ξ)=0f'(\xi)=0。

证明 由最值定理,ff 在 [a,b][a,b] 上有最大值 MM 和最小值 mm。

  • 如果 MM 和 mm 都在端点取到:端点只有 aa、bb 两个,而 f(a)=f(b)f(a)=f(b),所以 M=m=f(a)M=m=f(a)。区间里每一点都满足 m≤f(x)≤Mm\le f(x)\le M,上下限相等,f(x)f(x) 只能处处等于 f(a)f(a):ff 是常数,导数处处为 00,(a,b)(a,b) 里随便取一点作 ξ\xi 都行。
  • 否则至少有一个在内部某点取到,比如最大值在内部的 ξ\xi 处取到。f(ξ)f(\xi) 比整个区间上的函数值都大,当然也比 ξ\xi 附近的都大,所以 ξ\xi 是一个内部的极大值点。由费马定理,f′(ξ)=0f'(\xi)=0。(最小值在内部时一样。)

几何上:曲线从某个高度出发,最后回到同一高度,中间一定有一个“山顶”或“谷底”,那里的切线是水平的。

拉格朗日中值定理#

拉格朗日中值定理 若 ff 在 [a,b][a,b] 上连续、在 (a,b)(a,b) 内可导,那么存在某个内部点 ξ\xi,使

f′(ξ)=f(b)−f(a)b−a.f'(\xi)=\frac{f(b)-f(a)}{b-a}.

右边是连接两个端点的割线的斜率。定理说:曲线上一定有某一点的切线和这条割线平行。物理上:两小时开了 200200 公里,平均每小时 100100 公里,那么一定有某一时刻,速度表恰好显示 100100 公里每小时。

xyaξbOAB割线 AB平行的切线 图 9:割线 AB 的斜率是平均变化率;曲线上某个内部点 ξ 处的切线与 AB 平行。

ξ\xi 只是“某个满足条件的内部点”,一般不用求出来。中值定理的用处在于:它把“两端函数值之差”变成“某一点的导数乘区间长度”,

f(b)−f(a)=f′(ξ)(b−a),f(b)-f(a)=f'(\xi)(b-a),

而导数的大小往往容易估计。

马上得到的两个推论:

  • 导数恒为 00,函数是常数。 在区间上任取两点 x1<x2x_1<x_2,在 [x1,x2][x_1,x_2] 上用拉格朗日中值定理:存在 ξ∈(x1,x2)\xi\in(x_1,x_2),f(x2)−f(x1)=f′(ξ)(x2−x1)=0⋅(x2−x1)=0f(x_2)-f(x_1)=f'(\xi)(x_2-x_1)=0\cdot(x_2-x_1)=0。所以任意两点的函数值都相等,ff 是常数。“区间”这个条件不能少:f(x)=1f(x)=1(x>0x>0),f(x)=2f(x)=2(x<0x<0),在定义域的每一段上导数都是 00,但它不是常数,因为定义域在 00 处断开了,中值定理没法跨过去用。
  • 导数恒为正,函数递增。 任取 x1<x2x_1<x_2,f(x2)−f(x1)=f′(ξ)(x2−x1)f(x_2)-f(x_1)=f'(\xi)(x_2-x_1)。f′(ξ)>0f'(\xi)>0,x2−x1>0x_2-x_1>0,正数乘正数,差大于 00,即 f(x1)<f(x2)f(x_1)<f(x_2)。导数恒为负时,f′(ξ)<0f'(\xi)<0,负数乘正数,差小于 00,即 f(x1)>f(x2)f(x_1)>f(x_2),函数递减。

例 设 b>a>0b>a>0,证明 ln⁡b−ln⁡a<b−aa\ln b-\ln a<\dfrac{b-a}{a}。

对 f(x)=ln⁡xf(x)=\ln x 在 [a,b][a,b] 上用中值定理。f′(x)=1xf'(x)=\frac1x,所以 f′(ξ)=1ξf'(\xi)=\frac1\xi,f(b)−f(a)=f′(ξ)(b−a)f(b)-f(a)=f'(\xi)(b-a) 就是:

ln⁡b−ln⁡a=1ξ(b−a),a<ξ<b.\ln b-\ln a=\frac{1}{\xi}(b-a),\qquad a<\xi<b.

因为 ξ>a>0\xi>a>0,两个正数里大的倒数小,所以 1ξ<1a\frac1\xi<\frac1a;两边乘正数 b−ab-a,b−aξ<b−aa\frac{b-a}\xi<\frac{b-a}a,即 ln⁡b−ln⁡a<b−aa\ln b-\ln a<\frac{b-a}{a}。另一边用 ξ<b\xi<b:1ξ>1b\frac1\xi>\frac1b,乘 b−ab-a,ln⁡b−ln⁡a>b−ab\ln b-\ln a>\frac{b-a}b。合起来:

b−ab<ln⁡b−ln⁡a<b−aa.\frac{b-a}{b}<\ln b-\ln a<\frac{b-a}{a}.

柯西中值定理#

柯西中值定理 若 ff、gg 在 [a,b][a,b] 上连续、在 (a,b)(a,b) 内可导,且对 (a,b)(a,b) 内每一点 xx 都有 g′(x)≠0g'(x)\ne0,则存在 ξ∈(a,b)\xi\in(a,b),使

f(b)−f(a)g(b)−g(a)=f′(ξ)g′(ξ).\frac{f(b)-f(a)}{g(b)-g(a)}=\frac{f'(\xi)}{g'(\xi)}.

分母 g(b)−g(a)g(b)-g(a) 一定不为 00:如果 g(b)=g(a)g(b)=g(a),由罗尔定理,g′g' 在内部某点等于 00,和条件 g′(x)≠0g'(x)\ne0 矛盾。

取 g(x)=xg(x)=x,左边就是割线斜率,右边是 f′(ξ)f'(\xi),这就是拉格朗日定理。所以柯西定理是拉格朗日定理的推广。

第六节会用柯西中值定理证明洛必达法则。

构造辅助函数:先看目标式像谁的导数#

很多“证明存在某一点 ξ\xi,使某个式子成立”的题,都是罗尔定理加上一个合适的辅助函数。拉格朗日定理的证明已经是一个例子:辅助函数是“曲线减割线”。

看到题目要求“存在某点,使 f′(ξ)+pf(ξ)=0f'(\xi)+pf(\xi)=0”(pp 是常数),常尝试构造 epxf(x)e^{px}f(x)。用乘积法则和链式法则((epx)′=pepx(e^{px})'=pe^{px}):

(epxf(x))′=pepxf(x)+epxf′(x)=epx(f′(x)+pf(x)).\left(e^{px}f(x)\right)'=pe^{px}f(x)+e^{px}f'(x)=e^{px}\left(f'(x)+pf(x)\right).

括号里正好是目标式,而外面的 epxe^{px} 永远是正的。所以只要 epxf(x)e^{px}f(x) 在两端的值相等,罗尔定理就给出 ξ\xi。

例 设 ff 在 [0,1][0,1] 上连续、在 (0,1)(0,1) 内可导,f(0)=f(1)=0f(0)=f(1)=0。证明存在 ξ∈(0,1)\xi\in(0,1),使 f′(ξ)=2f(ξ)f'(\xi)=2f(\xi)。

目标是 f′−2f=0f'-2f=0,对应 p=−2p=-2,构造 F(x)=e−2xf(x)F(x)=e^{-2x}f(x)。F(0)=e0f(0)=0F(0)=e^0f(0)=0,F(1)=e−2f(1)=0F(1)=e^{-2}f(1)=0。由罗尔定理,存在 ξ\xi 使

F′(ξ)=e−2ξ(f′(ξ)−2f(ξ))=0.F'(\xi)=e^{-2\xi}\left(f'(\xi)-2f(\xi)\right)=0.

e−2ξ≠0e^{-2\xi}\ne0,所以 f′(ξ)=2f(ξ)f'(\xi)=2f(\xi)。

epxe^{px} 是怎么想到的? 我们想要一个乘数 g(x)g(x),使 (gf)′(gf)' 里出现 f′+pff'+pf。由乘积法则,(gf)′=g′f+gf′=g(f′+g′gf)(gf)'=g'f+gf'=g\left(f'+\frac{g'}gf\right)。要让括号变成 f′+pff'+pf,需要 g′g=p\frac{g'}{g}=p,即 g′=pgg'=pg:导数是自己的 pp 倍。g=epxg=e^{px} 正好满足:由链式法则,(epx)′=epx⋅(px)′=pepx(e^{px})'=e^{px}\cdot(px)'=pe^{px}。比如 (e3x)′=3e3x(e^{3x})'=3e^{3x},(e−2x)′=−2e−2x(e^{-2x})'=-2e^{-2x}。

构造辅助函数的关键,就是先看目标式像哪个函数的导数。常见的对应:

目标式 辅助函数 理由
f′+pff'+pf epxfe^{px}f 导数为 epx(f′+pf)e^{px}(f'+pf)
xf′+fxf'+f xfxf 乘积法则
xf′−fxf'-f fx\dfrac fx 导数为 xf′−fx2\dfrac{xf'-f}{x^2}
f′g−fg′f'g-fg' fg\dfrac fg 商的法则(要求 g≠0g\ne0)
f′g+fg′f'g+fg' fgfg 乘积法则

后两行的 gg 指题目里出现的另一个已知函数,比如 sin⁡x\sin x。例如要证存在 ξ\xi 使 f′(ξ)sin⁡ξ−f(ξ)cos⁡ξ=0f'(\xi)\sin\xi-f(\xi)\cos\xi=0:这里 g=sin⁡xg=\sin x,g′=cos⁡xg'=\cos x,目标式是 f′g−fg′f'g-fg',所以取 f(x)sin⁡x\frac{f(x)}{\sin x}(区间里要 sin⁡x≠0\sin x\ne0)。

六、等价无穷小与洛必达法则#

这一节和下一节讲求 00\frac00 型极限的三种主要工具:等价无穷小、洛必达法则、泰勒展开。它们处理的是同一类问题:分子分母都在趋于 00,要比较谁趋于 00 更快。

① 等价无穷小:只保留起决定作用的部分#

先给“比较两个无穷小”一套说法。设 α\alpha、β\beta 都是无穷小(在同一个极限过程中趋于 00):

  • 若 αβ→0\frac\alpha\beta\to0,说 α\alpha 是比 β\beta 高阶的无穷小,记作 α=o(β)\alpha=o(\beta)。意思是 α\alpha 趋于 00 比 β\beta 快得多。比如 x→0x\to0 时 x2x=x→0\frac{x^2}{x}=x\to0,所以 x2=o(x)x^2=o(x)。
  • 若 αβ→C\frac\alpha\beta\to C,CC 是不为 00 的常数,说 α\alpha 与 β\beta 是同阶无穷小:两者趋于 00 的快慢差不多,比例稳定在 CC。比如 3xx=3\frac{3x}{x}=3,3x3x 与 xx 同阶;sin⁡2xx→2\frac{\sin2x}{x}\to2,sin⁡2x\sin2x 与 xx 同阶。
  • 特别地,若 αβ→1\frac\alpha\beta\to1,说 α\alpha 与 β\beta 等价,记作 α∼β\alpha\sim\beta。比如 sin⁡x∼x\sin x\sim x。
  • 若 αβ→∞\frac\alpha\beta\to\infty,说 α\alpha 是比 β\beta 低阶的无穷小(α\alpha 趋于 00 更慢)。比如 xx2=1x→∞\frac{x}{x^2}=\frac1x\to\infty,xx 比 x2x^2 低阶。这正是第一条反过来:x2x^2 比 xx 高阶。
  • 若 αβk→C≠0\frac{\alpha}{\beta^k}\to C\ne0(k>0k>0),说 α\alpha 是关于 β\beta 的 kk 阶无穷小。最常用的是取 β=x\beta=x:x→0x\to0 时,α\alpha 是 xx 的 kk 阶无穷小,意思是 α∼Cxk\alpha\sim Cx^k。比如 1−cos⁡x∼12x21-\cos x\sim\frac12x^2 是 xx 的二阶无穷小。

u→0u\to0 时,下面每一组里,左边和右边的比值趋于 11(左右两边等价):

sin⁡u∼u,tan⁡u∼u,ln⁡(1+u)∼u,eu−1∼u,arcsin⁡u∼u,arctan⁡u∼u,1−cos⁡u∼u22,(1+u)a−1∼au (a 是非零常数).\begin{aligned} &\sin u\sim u, && \tan u\sim u,\\ &\ln(1+u)\sim u, && e^u-1\sim u,\\ &\arcsin u\sim u, && \arctan u\sim u,\\ &1-\cos u\sim\frac{u^2}{2}, && (1+u)^a-1\sim a u\ (a\text{ 是非零常数}). \end{aligned}

符号“∼\sim”表示比值趋于 11,不表示两个式子相等。

为什么在乘除中可以替换? 设 α∼α1\alpha\sim\alpha_1,β∼β1\beta\sim\beta_1。把 αβ\frac\alpha\beta 拆成三个因子相乘:

αβ=αα1⋅α1β1⋅β1β.\frac\alpha\beta=\frac{\alpha}{\alpha_1}\cdot\frac{\alpha_1}{\beta_1}\cdot\frac{\beta_1}{\beta}.

(右边约分后就是左边。)第一个因子 αα1→1\frac{\alpha}{\alpha_1}\to1;第三个因子 β1β=1β/β1\frac{\beta_1}{\beta}=\frac1{\beta/\beta_1},分母趋于 11,所以它也趋于 11。如果替换后的 α1β1\frac{\alpha_1}{\beta_1} 有极限 AA,由极限的乘法法则,αβ→1⋅A⋅1=A\frac\alpha\beta\to1\cdot A\cdot1=A。所以 αβ\frac\alpha\beta 和 α1β1\frac{\alpha_1}{\beta_1} 的极限相同。乘积也一样:αβ=α1β1⋅αα1⋅ββ1\alpha\beta=\alpha_1\beta_1\cdot\frac{\alpha}{\alpha_1}\cdot\frac{\beta}{\beta_1},后两个因子都趋于 11。这个论证只用到了乘和除,所以可以替换的是作为因子的整个式子。如果 α\alpha 只是一个和式中的一项,这个论证就不成立。

例 x→0x\to0 时,求 sin⁡(3x)ln⁡(1+2x)\dfrac{\sin(3x)}{\ln(1+2x)}。

令 u=3xu=3x,u→0u\to0,所以分子 sin⁡3x∼3x\sin3x\sim3x;令 u=2xu=2x,分母 ln⁡(1+2x)∼2x\ln(1+2x)\sim2x。因此

lim⁡x→0sin⁡3xln⁡(1+2x)=lim⁡x→03x2x=32.\lim_{x\to0}\frac{\sin3x}{\ln(1+2x)}=\lim_{x\to0}\frac{3x}{2x}=\frac32.

公式里的 uu 是整个 3x3x,不能把 sin⁡(3x)\sin(3x) 随手换成 xx。

② 洛必达法则:把函数之比换成导数之比#

洛必达法则 设 x→ax\to a 时 f(x)→0f(x)\to0、g(x)→0g(x)\to0(或者都趋于无穷),ff、gg 在 aa 附近(x≠ax\ne a)可导,且 g′(x)≠0g'(x)\ne0。(x→ax\to a 换成单侧的 x→a+x\to a^+、x→a−x\to a^-,或者 x→+∞x\to+\infty、x→−∞x\to-\infty,结论同样成立。)如果

lim⁡x→af′(x)g′(x)\lim_{x\to a}\frac{f'(x)}{g'(x)}

存在(或者为无穷),那么

lim⁡x→af(x)g(x)=lim⁡x→af′(x)g′(x).\lim_{x\to a}\frac{f(x)}{g(x)}=\lim_{x\to a}\frac{f'(x)}{g'(x)}.

这里不是对整个分式求导! 原式是 fg\frac fg,洛必达比较的是 f′g′\frac{f'}{g'}:分子分母各自求导,不用商的求导法则。

例 x→0x\to0 时,求 ex−1−xx2\dfrac{e^x-1-x}{x^2}。

先确认类型:分子 →1−1−0=0\to1-1-0=0,分母 →0\to0,是 00\frac00。分子分母各自求导:

ex−12x,\frac{e^x-1}{2x},

还是 00\frac00(分子 →0\to0,分母 →0\to0),条件仍然满足,再求一次:

ex2→12.\frac{e^x}{2}\to\frac12.

每次继续之前,都要重新确认类型和条件。不能第一次能用,就一路无条件地求到底。

例 x→0+x\to0^+ 时,求 xln⁡xx\ln x。

第三节说过,先改写成 ln⁡x1/x\dfrac{\ln x}{1/x},这是 −∞+∞\frac{-\infty}{+\infty} 型。分子分母各自求导:(ln⁡x)′=1x(\ln x)'=\frac1x;1x=x−1\frac1x=x^{-1},由幂函数求导公式,(x−1)′=−x−2=−1x2(x^{-1})'=-x^{-2}=-\frac1{x^2}。导数之比:

1/x−1/x2=1x⋅(−x2)=−x→0.\frac{1/x}{-1/x^2}=\frac1x\cdot\left(-x^2\right)=-x\to0.

所以 xln⁡x→0x\ln x\to0。直观上,x→0x\to0 的速度压过了 ln⁡x→−∞\ln x\to-\infty 的速度。

对数、幂、指数:谁增长得快#

同样的方法可以比较 x→+∞x\to+\infty 时三类函数的增长速度。结论是:任何正次幂都比对数长得快,任何指数都比幂长得快。

对数比幂慢。 设 δ>0\delta>0(可以很小,比如 0.010.01)。ln⁡xxδ\frac{\ln x}{x^\delta} 是 ∞∞\frac\infty\infty 型,求导:

(ln⁡x)′(xδ)′=1/xδxδ−1=1δ⋅x⋅xδ−1=1δxδ→0.\frac{(\ln x)'}{(x^\delta)'}=\frac{1/x}{\delta x^{\delta-1}}=\frac{1}{\delta\cdot x\cdot x^{\delta-1}}=\frac{1}{\delta x^\delta}\to0.

(x⋅xδ−1=x1+δ−1=xδx\cdot x^{\delta-1}=x^{1+\delta-1}=x^\delta;δ>0\delta>0,x→+∞x\to+\infty 时 xδ→+∞x^\delta\to+\infty,分子是常数 11,所以趋于 00。)

所以 ln⁡xxδ→0\frac{\ln x}{x^\delta}\to0。再加一个次数 q>0q>0 也一样。由 (xm)n=xmn(x^m)^n=x^{mn},xδ=(xδ/q)qx^\delta=\left(x^{\delta/q}\right)^q,于是

(ln⁡x)qxδ=(ln⁡xxδ/q)q,\frac{(\ln x)^q}{x^\delta}=\left(\frac{\ln x}{x^{\delta/q}}\right)^q,

括号里的 δ/q\delta/q 也是正数,把它当作新的 δ\delta,由刚才的结论,括号趋于 00;趋于 00 的正数的 qq 次方也趋于 00。所以 (ln⁡x)100(\ln x)^{100} 最后也会被 x0.01x^{0.01} 超过,只是要等 xx 非常大。

幂比指数慢。 先看具体的 x3ex\frac{x^3}{e^x}。它是 ∞∞\frac\infty\infty 型,分子分母各自求导:3x2ex\frac{3x^2}{e^x},还是 ∞∞\frac\infty\infty;再求导:6xex\frac{6x}{e^x};再求导:6ex\frac6{e^x}。这时分子是常数 66,分母 ex→+∞e^x\to+\infty,所以趋于 00。分母 exe^x 求导后不变,分子每求一次导降一次,最后变成常数。

一般地,设 nn 是正整数。xnex\frac{x^n}{e^x} 是 ∞∞\frac\infty\infty 型,每求一次导,分子次数降一,分母不变:

lim⁡x→+∞xnex=lim⁡x→+∞nxn−1ex=lim⁡x→+∞n(n−1)xn−2ex=⋯=lim⁡x→+∞n!ex=0.\lim_{x\to+\infty}\frac{x^n}{e^x}=\lim_{x\to+\infty}\frac{nx^{n-1}}{e^x}=\lim_{x\to+\infty}\frac{n(n-1)x^{n-2}}{e^x}=\cdots=\lim_{x\to+\infty}\frac{n!}{e^x}=0.

(n!=n(n−1)⋯2⋅1n!=n(n-1)\cdots2\cdot1。每一步都还是 ∞∞\frac\infty\infty 型,所以可以继续;最后分子是常数 n!n!,分母趋于无穷,所以是 00。)次数 aa 不是整数时,取整数 n≥an\ge a,x>1x>1 时 xa≤xnx^a\le x^n,于是 0<xaex≤xnex0<\frac{x^a}{e^x}\le\frac{x^n}{e^x},右边趋于 00,由夹逼定理,xaex\frac{x^a}{e^x} 也趋于 00。底数换成任意 b>1b>1 也一样:b>1b>1 时 ln⁡b>0\ln b>0,bx=exln⁡bb^x=e^{x\ln b};令 u=xln⁡bu=x\ln b,x→+∞x\to+\infty 时 u→+∞u\to+\infty,x=uln⁡bx=\frac u{\ln b},所以 xabx=1(ln⁡b)a⋅uaeu→0\frac{x^a}{b^x}=\frac{1}{(\ln b)^a}\cdot\frac{u^a}{e^u}\to0(常数乘一个趋于 00 的量)。

记成一条链(x→+∞x\to+\infty,q>0q>0,δ>0\delta>0,b>1b>1):

(ln⁡x)q ≪ xδ ≪ bx.(\ln x)^q\ \ll\ x^\delta\ \ll\ b^x.

A≪BA\ll B 的意思是 AB→0\frac AB\to0。

在 00 附近的版本。 0<x<10<x<1 时 ln⁡x<0\ln x<0,为了用正的次幂,看它的绝对值。令 x=1yx=\frac1y,x→0+x\to0^+ 对应 y→+∞y\to+\infty。ln⁡x=ln⁡1y=−ln⁡y\ln x=\ln\frac1y=-\ln y,而 y>1y>1 时 ln⁡y>0\ln y>0,所以 ∣ln⁡x∣=ln⁡y\lvert\ln x\rvert=\ln y:

xδ∣ln⁡x∣q=(1y)δ(ln⁡y)q=(ln⁡y)qyδ→0.x^\delta\lvert\ln x\rvert^q=\left(\frac1y\right)^\delta(\ln y)^q=\frac{(\ln y)^q}{y^\delta}\to0.

上面的 xln⁡x→0x\ln x\to0 就是 δ=q=1\delta=q=1 的情形:x∣ln⁡x∣→0x\lvert\ln x\rvert\to0,而 xln⁡x=−x∣ln⁡x∣x\ln x=-x\lvert\ln x\rvert,所以也趋于 00。直观上,在 00 附近 ∣ln⁡x∣\lvert\ln x\rvert 趋于无穷的速度很慢,任何正次幂趋于 00 都能把它压住。

这条链用得很多:判断极限、画函数图像时看两端的走向,第二篇判断反常积分是否收敛时也要用。

使用条件归纳一下:在所讨论的点附近(不含这一点)可导;分母的导数不为 00;导数之比的极限存在(或者为无穷)。左右两侧情况不同时,分开处理。

洛必达法则其余情形的证明(选读)#

上面只证明了有限点的 00\frac00 型。这里补齐另外两种情况。跳过它不影响使用。

x→∞x\to\infty 的 00\frac00 型。 以 x→+∞x\to+\infty 为例。已知 f(x)→0f(x)\to0、g(x)→0g(x)\to0,且 f′(x)g′(x)→L\frac{f'(x)}{g'(x)}\to L;要证 f(x)g(x)→L\frac{f(x)}{g(x)}\to L。

(1)令 t=1xt=\frac1x,x→+∞x\to+\infty 对应 t→0+t\to0^+。写成 tt 的函数:F(t)=f(1t)F(t)=f\left(\frac1t\right),G(t)=g(1t)G(t)=g\left(\frac1t\right)。t→0+t\to0^+ 时 F(t)→0F(t)\to0、G(t)→0G(t)\to0,是有限点的 00\frac00 型。

(2)求 tt 的导数之比。由链式法则,F′(t)=f′(1t)⋅(−1t2)F'(t)=f'\left(\frac1t\right)\cdot\left(-\frac1{t^2}\right),G′(t)=g′(1t)⋅(−1t2)G'(t)=g'\left(\frac1t\right)\cdot\left(-\frac1{t^2}\right),相除时 −1t2-\frac1{t^2} 约掉:

F′(t)G′(t)=f′(1/t)g′(1/t).\frac{F'(t)}{G'(t)}=\frac{f'(1/t)}{g'(1/t)}.

t→0+t\to0^+ 时 1t→+∞\frac1t\to+\infty,所以这个比趋于 LL。

(3)对 FF、GG 用上面已经证明的有限点洛必达法则:F(t)G(t)→L\frac{F(t)}{G(t)}\to L。而 F(t)G(t)=f(x)g(x)\frac{F(t)}{G(t)}=\frac{f(x)}{g(x)},所以 f(x)g(x)→L\frac{f(x)}{g(x)}\to L。

∞∞\frac\infty\infty 型。 这时不能把 f(a)f(a)、g(a)g(a) 补成“无穷”再用中值定理,要换一个办法。以右侧 x→a+x\to a^+ 为例(左侧一样)。设 f′g′→L\frac{f'}{g'}\to L(有限数),∣g(x)∣→∞\lvert g(x)\rvert\to\infty。要证 fg→L\frac fg\to L,按极限的定义,就是要说明:任给一个误差 ε>0\varepsilon>0,xx 足够靠近 aa 时,f(x)g(x)\frac{f(x)}{g(x)} 离 LL 都不超过一个和 ε\varepsilon 成比例的数。

第一步,固定一个点 cc。因为 f′g′→L\frac{f'}{g'}\to L,按极限的定义,有一小段 (a,a+δ)(a,a+\delta),在这段里处处 ∣f′g′−L∣<ε\left\lvert\frac{f'}{g'}-L\right\rvert<\varepsilon。在这一小段里选一个点 cc,选定以后就不再动。

第二步,让 xx 在 aa 与 cc 之间走向 aa。在 xx 与 cc 之间用柯西中值定理:f(x)−f(c)g(x)−g(c)=f′(ξ)g′(ξ)\frac{f(x)-f(c)}{g(x)-g(c)}=\frac{f'(\xi)}{g'(\xi)},ξ\xi 也在这一小段里,所以

∣f(x)−f(c)g(x)−g(c)−L∣<ε.\left\lvert\frac{f(x)-f(c)}{g(x)-g(c)}-L\right\rvert<\varepsilon.

把这个差商记作 QQ。

第三步,把要算的 f(x)g(x)\frac{f(x)}{g(x)} 用 QQ 表示出来。分子加一个 f(c)f(c) 再减一个 f(c)f(c),拆成两项:

f(x)g(x)=f(x)−f(c)g(x)+f(c)g(x).\frac{f(x)}{g(x)}=\frac{f(x)-f(c)}{g(x)}+\frac{f(c)}{g(x)}.

第一项想换成 QQ,分母还差一点,乘再除以 g(x)−g(c)g(x)-g(c):f(x)−f(c)g(x)=f(x)−f(c)g(x)−g(c)⋅g(x)−g(c)g(x)\frac{f(x)-f(c)}{g(x)}=\frac{f(x)-f(c)}{g(x)-g(c)}\cdot\frac{g(x)-g(c)}{g(x)},而 g(x)−g(c)g(x)=1−g(c)g(x)\frac{g(x)-g(c)}{g(x)}=1-\frac{g(c)}{g(x)}。合起来:

f(x)g(x)=Q⋅r+s,r=1−g(c)g(x),s=f(c)g(x).\frac{f(x)}{g(x)}=Q\cdot r+s,\qquad r=1-\frac{g(c)}{g(x)},\quad s=\frac{f(c)}{g(x)}.

第四步,估计 f(x)g(x)\frac{f(x)}{g(x)} 离 LL 多远。x→ax\to a 时 ∣g(x)∣→∞\lvert g(x)\rvert\to\infty,而 f(c)f(c)、g(c)g(c) 是固定的数,所以 r→1r\to1,s→0s\to0。把差拆成三部分:

f(x)g(x)−L=Q r+s−L=(Q−L) r+L (r−1)+s.\frac{f(x)}{g(x)}-L=Q\,r+s-L=(Q-L)\,r+L\,(r-1)+s.

(展开右边可以验证:Qr−Lr+Lr−L+s=Qr+s−LQr-Lr+Lr-L+s=Qr+s-L。)xx 足够靠近 aa 时:∣Q−L∣<ε\lvert Q-L\rvert<\varepsilon 且 ∣r∣<2\lvert r\rvert<2,第一部分小于 2ε2\varepsilon;r−1→0r-1\to0,第二部分小于 ε\varepsilon;s→0s\to0,第三部分小于 ε\varepsilon。所以

∣f(x)g(x)−L∣<2ε+ε+ε=4ε.\left\lvert\frac{f(x)}{g(x)}-L\right\rvert<2\varepsilon+\varepsilon+\varepsilon=4\varepsilon.

ε\varepsilon 可以任意小,4ε4\varepsilon 也就可以任意小,所以 f(x)g(x)→L\frac{f(x)}{g(x)}\to L。

(整个证明只用到了分母 ∣g(x)∣→∞\lvert g(x)\rvert\to\infty,没有用到分子也趋于无穷。所以这个版本的洛必达法则只要求分母趋于无穷。)

关键在于顺序:先选定 cc,再让 xx 走向 aa。cc 固定以后,f(c)f(c)、g(c)g(c) 就是常数,才会被不断变大的 g(x)g(x) 压到 00。

如果导数之比趋于 +∞+\infty:任给一个大数 MM,第一步改成在一小段里处处 f′g′>2M\frac{f'}{g'}>2M,于是 Q>2MQ>2M。xx 足够靠近 aa 时 r>12r>\frac12、s>−1s>-1,所以 f(x)g(x)=Qr+s>2M⋅12−1=M−1\frac{f(x)}{g(x)}=Qr+s>2M\cdot\frac12-1=M-1。MM 可以任意大,所以 fg→+∞\frac fg\to+\infty。−∞-\infty 时对 −f-f 用同样的论证。双侧极限就分别证明左右两侧。

怎么选方法?#

看到的特征 优先考虑
能约分或乘共轭 先做,代价最低
几个基本的小量相乘相除 等价无穷小
有相减,需要看后面几阶 泰勒展开(下一节)
函数光滑,求导后明显变简单 洛必达
有振荡,但大小能控制 夹逼

这些方法可以混着用:先用等价无穷小把乘除的部分化简,再对剩下的部分用洛必达或泰勒。

七、泰勒公式:用多项式近似函数#

想法:让多项式模仿函数#

多项式是最容易计算的函数:只用加法和乘法。泰勒公式的想法是:在某一点附近,用一个多项式去模仿一个复杂的函数,模仿得越像,近似就越好。

第四节已经做过最简单的一步:用切线(一次多项式)近似函数。切线和函数在这一点有相同的值、相同的斜率。要模仿得更像,就让更多的东西相同。在 x=0x=0 这一点,要求多项式和函数:

  • 函数值相同(高度一样);
  • 一阶导数相同(倾斜程度一样);
  • 二阶导数相同(弯曲程度一样);
  • ……匹配的阶数越多,在 00 附近贴得越紧。

求系数#

设

p(x)=a0+a1x+a2x2+a3x3+⋯+anxn.p(x)=a_0+a_1x+a_2x^2+a_3x^3+\cdots+a_nx^n.

逐次求导,再代入 x=0x=0:

p(0)=a0,p′(x)=a1+2a2x+3a3x2+⋯ ⟹ p′(0)=a1,p′′(x)=2a2+3⋅2 a3x+⋯ ⟹ p′′(0)=2a2=2! a2,p′′′(x)=3⋅2⋅1 a3+⋯ ⟹ p′′′(0)=3! a3.\begin{aligned} p(0)&=a_0,\\ p'(x)=a_1+2a_2x+3a_3x^2+\cdots\ &\Longrightarrow\ p'(0)=a_1,\\ p''(x)=2a_2+3\cdot2\,a_3x+\cdots\ &\Longrightarrow\ p''(0)=2a_2=2!\,a_2,\\ p'''(x)=3\cdot2\cdot1\,a_3+\cdots\ &\Longrightarrow\ p'''(0)=3!\,a_3. \end{aligned}

规律是:求 p(k)(0)p^{(k)}(0) 时,每一项都求 kk 次导数,再代入 x=0x=0。

  • xkx^k 这一项:求 kk 次导数,指数每次降下来乘到前面,变成常数 k(k−1)⋯1⋅ak=k! akk(k-1)\cdots1\cdot a_k=k!\,a_k。
  • 次数高于 kk 的项(比如 xk+1x^{k+1}):求 kk 次导数后还带着 xx,代入 00 得 00。
  • 次数低于 kk 的项(比如 xk−1x^{k-1}):求不到 kk 次就已经变成常数,再求导就是 00。

所以只剩下 xkx^k 那一项,p(k)(0)=k! akp^{(k)}(0)=k!\,a_k。

要让 p(k)(0)=f(k)(0)p^{(k)}(0)=f^{(k)}(0),就必须取

ak=f(k)(0)k!.a_k=\frac{f^{(k)}(0)}{k!}.

这就是泰勒系数的来历:系数是“让各阶导数都对上”的唯一选择。

泰勒公式#

泰勒公式(带佩亚诺余项) 若 ff 在 00 处有直到 nn 阶的导数,则 x→0x\to0 时

f(x)=f(0)+f′(0)x+f′′(0)2!x2+⋯+f(n)(0)n!xn+o(xn).f(x)=f(0)+f'(0)x+\frac{f''(0)}{2!}x^2+\cdots+\frac{f^{(n)}(0)}{n!}x^n+o(x^n).

在 00 处的展开也叫麦克劳林公式。

如果要在别的点 x0x_0 附近近似函数,做法完全一样,只是多项式改写成 x−x0x-x_0 的幂:

p(x)=a0+a1(x−x0)+a2(x−x0)2+⋯+an(x−x0)n.p(x)=a_0+a_1(x-x_0)+a_2(x-x_0)^2+\cdots+a_n(x-x_0)^n.

为什么用 x−x0x-x_0 而不用 xx?因为求系数的关键一步是“代入后高次项全变成 00”。在 00 处,代入 x=0x=0 让 x,x2,…x,x^2,\dots 都变成 00;在 x0x_0 处,代入 x=x0x=x_0 让 x−x0,(x−x0)2,…x-x_0,(x-x_0)^2,\dots 都变成 00。又因为 (x−x0)′=1(x-x_0)'=1,对 (x−x0)k(x-x_0)^k 求导和对 xkx^k 求导的规律一样:[(x−x0)k]′=k(x−x0)k−1\left[(x-x_0)^k\right]'=k(x-x_0)^{k-1}。所以上面求系数的过程原样照搬:

p(x0)=a0,p′(x0)=a1,p′′(x0)=2! a2,…,p(k)(x0)=k! ak.p(x_0)=a_0,\qquad p'(x_0)=a_1,\qquad p''(x_0)=2!\,a_2,\qquad\dots,\qquad p^{(k)}(x_0)=k!\,a_k.

要让各阶导数在 x0x_0 处对上,就取 ak=f(k)(x0)k!a_k=\frac{f^{(k)}(x_0)}{k!}。于是 x→x0x\to x_0 时:

f(x)=f(x0)+f′(x0)(x−x0)+f′′(x0)2!(x−x0)2+⋯+f(n)(x0)n!(x−x0)n+o((x−x0)n).f(x)=f(x_0)+f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+\cdots+\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n+o\left((x-x_0)^n\right).

把展开点 x0x_0 记作 aa,增量 x−x0x-x_0 记作 hh(即 x=a+hx=a+h),n=1n=1 时它就是第四节的 f(a+h)=f(a)+f′(a)h+o(h)f(a+h)=f(a)+f'(a)h+o(h)。

最后的 o(xn)o(x^n) 叫余项,意思是:真实值减去这个多项式,得到的误差除以 xnx^n 后趋于 00。它不是某个固定的数,而是在说明误差有多小:比 xnx^n 还小得多。

上面只说明了“如果有这样的近似,系数只能这样取”。误差真的是 o(xn)o(x^n) 吗?这需要证明,放在本节后面的选读部分。

常用的展开#

在 x→0x\to0 时,下面五个最基本:

ex=1+x+x22+x36+o(x3)sin⁡x=x−x36+o(x3)cos⁡x=1−x22+x424+o(x4)ln⁡(1+x)=x−x22+x33+o(x3)(1+x)α=1+αx+α(α−1)2x2+o(x2)\begin{aligned} e^x&=1+x+\frac{x^2}{2}+\frac{x^3}{6}+o(x^3)\\ \sin x&=x-\frac{x^3}{6}+o(x^3)\\ \cos x&=1-\frac{x^2}{2}+\frac{x^4}{24}+o(x^4)\\ \ln(1+x)&=x-\frac{x^2}{2}+\frac{x^3}{3}+o(x^3)\\ (1+x)^\alpha&=1+\alpha x+\frac{\alpha(\alpha-1)}{2}x^2+o(x^2) \end{aligned}

还有两个最简单的,来自等比数列求和:

11−x=1+x+x2+⋯+xn+o(xn),11+x=1−x+x2−⋯+(−1)nxn+o(xn).\frac1{1-x}=1+x+x^2+\cdots+x^n+o(x^n),\qquad\frac1{1+x}=1-x+x^2-\cdots+(-1)^nx^n+o(x^n).

为什么误差是 o(xn)o(x^n)?分三步算。

第一步,求和公式。把 1−x1-x 乘进去,中间的项一正一负全部抵消:

(1−x)(1+x+⋯+xn)=(1+x+⋯+xn)−(x+x2+⋯+xn+1)=1−xn+1.(1-x)(1+x+\cdots+x^n)=(1+x+\cdots+x^n)-(x+x^2+\cdots+x^{n+1})=1-x^{n+1}.

两边除以 1−x1-x(xx 在 00 附近,1−x≠01-x\ne0),得 1+x+⋯+xn=1−xn+11−x1+x+\cdots+x^n=\frac{1-x^{n+1}}{1-x}。

第二步,算误差,即真实值减去多项式:

11−x−(1+x+⋯+xn)=11−x−1−xn+11−x=1−(1−xn+1)1−x=xn+11−x.\frac1{1-x}-(1+x+\cdots+x^n)=\frac1{1-x}-\frac{1-x^{n+1}}{1-x}=\frac{1-(1-x^{n+1})}{1-x}=\frac{x^{n+1}}{1-x}.

第三步,误差除以 xnx^n:

xn+11−x⋅1xn=x1−x→01−0=0.\frac{x^{n+1}}{1-x}\cdot\frac1{x^n}=\frac{x}{1-x}\to\frac{0}{1-0}=0.

按定义,误差是 o(xn)o(x^n)。

第二个式子把第一个里的 xx 全换成 −x-x:左边 11−(−x)=11+x\frac1{1-(-x)}=\frac1{1+x},右边每一项 (−x)k=(−1)kxk(-x)^k=(-1)^kx^k,偶数次为正、奇数次为负,所以正负交替;误差 o((−x)n)o\left((-x)^n\right) 除以 xnx^n 只差一个符号 (−1)n(-1)^n,仍然趋于 00,还是 o(xn)o(x^n)。

另外三个也很常用:

tan⁡x=x+x33+o(x3),arcsin⁡x=x+x36+o(x3),arctan⁡x=x−x33+o(x3).\tan x=x+\frac{x^3}{3}+o(x^3),\qquad\arcsin x=x+\frac{x^3}{6}+o(x^3),\qquad\arctan x=x-\frac{x^3}{3}+o(x^3).

由它们马上得到几个常用的“差”。做法都一样:代入展开式,一次项 xx 抵消,剩下三次项。−o(x3)-o(x^3) 仍记作 o(x3)o(x^3),两个 o(x3)o(x^3) 相减也还是 o(x3)o(x^3)(见上面的运算规则)。

x−sin⁡x=x−(x−x36+o(x3))=x36+o(x3),tan⁡x−x=(x+x33+o(x3))−x=x33+o(x3),x−arctan⁡x=x−(x−x33+o(x3))=x33+o(x3),tan⁡x−sin⁡x=(x+x33+o(x3))−(x−x36+o(x3))=(13+16)x3+o(x3)=x32+o(x3).\begin{aligned} x-\sin x&=x-\left(x-\frac{x^3}6+o(x^3)\right)=\frac{x^3}6+o(x^3),\\ \tan x-x&=\left(x+\frac{x^3}3+o(x^3)\right)-x=\frac{x^3}3+o(x^3),\\ x-\arctan x&=x-\left(x-\frac{x^3}3+o(x^3)\right)=\frac{x^3}3+o(x^3),\\ \tan x-\sin x&=\left(x+\frac{x^3}3+o(x^3)\right)-\left(x-\frac{x^3}6+o(x^3)\right)=\left(\frac13+\frac16\right)x^3+o(x^3)=\frac{x^3}2+o(x^3). \end{aligned}

每一个都是“某个常数乘 x3x^3,再加 o(x3)o(x^3)”。以第一个为例,除以 x36\frac{x^3}6:

x36+o(x3)x36=1+6⋅o(x3)x3→1,\frac{\frac{x^3}6+o(x^3)}{\frac{x^3}6}=1+6\cdot\frac{o(x^3)}{x^3}\to1,

所以 x−sin⁡x∼x36x-\sin x\sim\frac{x^3}6。同理 tan⁡x−x∼x33\tan x-x\sim\frac{x^3}3,x−arctan⁡x∼x33x-\arctan x\sim\frac{x^3}3,tan⁡x−sin⁡x∼x32\tan x-\sin x\sim\frac{x^3}2。

最前面五个的系数都可以用 ak=f(k)(0)k!a_k=\frac{f^{(k)}(0)}{k!} 逐个验证。每个函数都做同样三件事:求各阶导数,代入 00,除以对应的阶乘。别忘了 k=0k=0 那一项:a0=f(0)0!=f(0)a_0=\frac{f(0)}{0!}=f(0),就是常数项。

exe^x。各阶导数都是 exe^x,在 00 处都等于 e0=1e^0=1,所以 ak=1k!a_k=\frac1{k!}:

a0=10!=1,a1=11!=1,a2=12!=12,a3=13!=16.a_0=\frac1{0!}=1,\quad a_1=\frac1{1!}=1,\quad a_2=\frac1{2!}=\frac12,\quad a_3=\frac1{3!}=\frac16.

sin⁡x\sin x。导数四次一循环:sin⁡x→cos⁡x→−sin⁡x→−cos⁡x→sin⁡x\sin x\to\cos x\to-\sin x\to-\cos x\to\sin x。逐阶代入 00:

k=0:f(0)=sin⁡0=0,a0=0,k=1:f′(0)=cos⁡0=1,a1=11!=1,k=2:f′′(0)=−sin⁡0=0,a2=0,k=3:f′′′(0)=−cos⁡0=−1,a3=−13!=−16.\begin{aligned} k=0:&\quad f(0)=\sin0=0, & a_0&=0,\\ k=1:&\quad f'(0)=\cos0=1, & a_1&=\tfrac{1}{1!}=1,\\ k=2:&\quad f''(0)=-\sin0=0, & a_2&=0,\\ k=3:&\quad f'''(0)=-\cos0=-1, & a_3&=\tfrac{-1}{3!}=-\tfrac16. \end{aligned}

偶数阶导数是 ±sin⁡x\pm\sin x,在 00 处都是 00,所以偶数次项全部消失。填进 a0+a1x+a2x2+a3x3+o(x3)a_0+a_1x+a_2x^2+a_3x^3+o(x^3):

sin⁡x=0+1⋅x+0⋅x2−16x3+o(x3)=x−x36+o(x3).\sin x=0+1\cdot x+0\cdot x^2-\frac16x^3+o(x^3)=x-\frac{x^3}6+o(x^3).

cos⁡x\cos x。导数依次是 −sin⁡x, −cos⁡x, sin⁡x, cos⁡x-\sin x,\ -\cos x,\ \sin x,\ \cos x,同样四次一循环:

k=0:f(0)=cos⁡0=1,a0=1,k=1:f′(0)=−sin⁡0=0,a1=0,k=2:f′′(0)=−cos⁡0=−1,a2=−12!=−12,k=3:f′′′(0)=sin⁡0=0,a3=0,k=4:f(4)(0)=cos⁡0=1,a4=14!=124.\begin{aligned} k=0:&\quad f(0)=\cos0=1, & a_0&=1,\\ k=1:&\quad f'(0)=-\sin0=0, & a_1&=0,\\ k=2:&\quad f''(0)=-\cos0=-1, & a_2&=\tfrac{-1}{2!}=-\tfrac12,\\ k=3:&\quad f'''(0)=\sin0=0, & a_3&=0,\\ k=4:&\quad f^{(4)}(0)=\cos0=1, & a_4&=\tfrac{1}{4!}=\tfrac1{24}. \end{aligned}

这次奇数次项全部消失,得到 cos⁡x=1−x22+x424+o(x4)\cos x=1-\frac{x^2}2+\frac{x^4}{24}+o(x^4)。

ln⁡(1+x)\ln(1+x)。常数项 f(0)=ln⁡1=0f(0)=\ln1=0。把一阶导数写成负指数幂 11+x=(1+x)−1\frac1{1+x}=(1+x)^{-1},再求导时指数降下来乘到前面:

f′(x)=(1+x)−1,f′(0)=1,a1=11!=1,f′′(x)=(−1)(1+x)−2,f′′(0)=−1,a2=−12!=−12,f′′′(x)=(−1)(−2)(1+x)−3=2(1+x)−3,f′′′(0)=2,a3=23!=13.\begin{aligned} f'(x)&=(1+x)^{-1}, & f'(0)&=1, & a_1&=\tfrac{1}{1!}=1,\\ f''(x)&=(-1)(1+x)^{-2}, & f''(0)&=-1, & a_2&=\tfrac{-1}{2!}=-\tfrac12,\\ f'''(x)&=(-1)(-2)(1+x)^{-3}=2(1+x)^{-3}, & f'''(0)&=2, & a_3&=\tfrac{2}{3!}=\tfrac13. \end{aligned}

所以 ln⁡(1+x)=x−x22+x33+o(x3)\ln(1+x)=x-\frac{x^2}2+\frac{x^3}3+o(x^3)。

(1+x)α(1+x)^\alpha(α\alpha 是常数)。常数项 f(0)=1α=1f(0)=1^\alpha=1,这就是展开式开头那个 11。逐阶求导,每次指数降下来乘到前面、指数减 11:

f′(x)=α(1+x)α−1,f′(0)=α,a1=α1!=α,f′′(x)=α(α−1)(1+x)α−2,f′′(0)=α(α−1),a2=α(α−1)2!=α(α−1)2.\begin{aligned} f'(x)&=\alpha(1+x)^{\alpha-1}, & f'(0)&=\alpha, & a_1&=\tfrac{\alpha}{1!}=\alpha,\\ f''(x)&=\alpha(\alpha-1)(1+x)^{\alpha-2}, & f''(0)&=\alpha(\alpha-1), & a_2&=\tfrac{\alpha(\alpha-1)}{2!}=\tfrac{\alpha(\alpha-1)}{2}. \end{aligned}

所以 (1+x)α=1+αx+α(α−1)2x2+o(x2)(1+x)^\alpha=1+\alpha x+\frac{\alpha(\alpha-1)}2x^2+o(x^2)。

这里用的是有限阶的展开,只关心 x→0x\to0 时的近似,不讨论把无穷多项加起来会怎样(那叫幂级数,本节最后的选读部分会谈到)。

xy−ππ1−1Oy = xy = x − x3/6y = sin x 图 10:在 0 附近,x 已经贴近 sin x;加上 −x³/6 后,贴合的范围明显变大。离 0 越远,误差越大。

展开到第几项?#

看最后的分母是几次,以及分子里会抵消掉多少。

例 1 求 x→0x\to0 时 sin⁡x−xx3\dfrac{\sin x-x}{x^3}。

分母是 x3x^3;分子里 sin⁡x\sin x 的一次项 xx 会和后面的 −x-x 抵消。所以至少要展开到三次项:

sin⁡x−x=(x−x36+o(x3))−x=−x36+o(x3).\sin x-x=\left(x-\frac{x^3}{6}+o(x^3)\right)-x=-\frac{x^3}{6}+o(x^3).

代回原式,分母 x3x^3 分别除到分子的两项上:

sin⁡x−xx3=−x36+o(x3)x3=−16+o(x3)x3.\frac{\sin x-x}{x^3}=\frac{-\frac{x^3}6+o(x^3)}{x^3}=-\frac16+\frac{o(x^3)}{x^3}.

按 o(x3)o(x^3) 的定义,o(x3)x3→0\frac{o(x^3)}{x^3}\to0,所以极限是 −16+0=−16-\frac16+0=-\frac16。这就是上一节计算器试出来的 −0.1667-0.1667。

例 2 求 x→0x\to0 时 ln⁡(1+x)−x+x22x3\dfrac{\ln(1+x)-x+\frac{x^2}{2}}{x^3}。

展开后,xx 和 x2x^2 项都抵消:

(x−x22+x33+o(x3))−x+x22=x33+o(x3).\left(x-\frac{x^2}{2}+\frac{x^3}{3}+o(x^3)\right)-x+\frac{x^2}{2}=\frac{x^3}{3}+o(x^3).

同样把分母除到每一项上:x33+o(x3)x3=13+o(x3)x3→13+0\frac{\frac{x^3}3+o(x^3)}{x^3}=\frac13+\frac{o(x^3)}{x^3}\to\frac13+0。答案是 13\frac13。

例 3 复合函数,先看里面那层是几阶:求 ex2−1−x2x4\dfrac{e^{x^2}-1-x^2}{x^4} 的极限。

把 u=x2u=x^2 看成整体,u→0u\to0,

eu=1+u+u22+o(u2).e^u=1+u+\frac{u^2}{2}+o(u^2).

代回 u=x2u=x^2,由代换规则 o(u2)=o(x4)o(u^2)=o(x^4):

ex2=1+x2+(x2)22+o(x4)=1+x2+x42+o(x4).e^{x^2}=1+x^2+\frac{(x^2)^2}{2}+o(x^4)=1+x^2+\frac{x^4}{2}+o(x^4).

代进分子,常数项和二次项都抵消:

ex2−1−x2=(1+x2+x42+o(x4))−1−x2=x42+o(x4).e^{x^2}-1-x^2=\left(1+x^2+\frac{x^4}{2}+o(x^4)\right)-1-x^2=\frac{x^4}{2}+o(x^4).

再除以 x4x^4:

ex2−1−x2x4=x42+o(x4)x4=12+o(x4)x4→12+0=12.\frac{e^{x^2}-1-x^2}{x^4}=\frac{\frac{x^4}2+o(x^4)}{x^4}=\frac12+\frac{o(x^4)}{x^4}\to\frac12+0=\frac12.

答案是 12\frac12。

只需要把 eue^u 展到 u2u^2,不必展到 u4u^4:u2u^2 已经是 x4x^4,正好对上分母。

例 4 求 lim⁡x→+∞(x2+x−x)\displaystyle\lim_{x\to+\infty}\left(\sqrt{x^2+x}-x\right)。

上面的展开都是在自变量趋于 00 时成立的。这里 x→+∞x\to+\infty,要先造出一个趋于 00 的量。

第一步,从根号里提出 x2x^2:

x2+x=x2(1+1x)=x2⋅1+1x.\sqrt{x^2+x}=\sqrt{x^2\left(1+\frac1x\right)}=\sqrt{x^2}\cdot\sqrt{1+\frac1x}.

x2=∣x∣\sqrt{x^2}=|x|,而 x→+∞x\to+\infty 时 x>0x>0,所以 x2=x\sqrt{x^2}=x。于是

x2+x−x=x1+1x−x=x[1+1x−1].\sqrt{x^2+x}-x=x\sqrt{1+\frac1x}-x=x\left[\sqrt{1+\frac1x}-1\right].

括号里的 1x→0\frac1x\to0,这就是要找的小量。

第二步,记 u=1xu=\frac1x,u→0u\to0。由上面 (1+u)α(1+u)^\alpha 的展开取 α=12\alpha=\frac12,只保留到一次项,再两边减 11:

1+u=1+u2+o(u),1+u−1=u2+o(u).\sqrt{1+u}=1+\frac u2+o(u),\qquad\sqrt{1+u}-1=\frac u2+o(u).

第三步,乘回外面的 xx。因为 u=1xu=\frac1x,所以 x=1ux=\frac1u:

x[1+1x−1]=1u[u2+o(u)]=12+o(u)u.x\left[\sqrt{1+\frac1x}-1\right]=\frac1u\left[\frac u2+o(u)\right]=\frac12+\frac{o(u)}{u}.

按 oo 的定义,u→0u\to0 时 o(u)u→0\frac{o(u)}{u}\to0。所以

lim⁡x→+∞(x2+x−x)=12+0=12,\lim_{x\to+\infty}\left(\sqrt{x^2+x}-x\right)=\frac12+0=\frac12,

和第三节用共轭算出的一样。

例 5 求 lim⁡x→0(1+2x)1/x\displaystyle\lim_{x\to0}(1+2x)^{1/x}。

底数 1+2x→11+2x\to1,指数 1x→∞\frac1x\to\infty,是 1∞1^\infty 型。底数和指数都在变,先取对数,把指数拿下来。记 y=(1+2x)1/xy=(1+2x)^{1/x}。xx 在 00 附近时底数 1+2x1+2x 是正数,可以取对数。由 ln⁡(AB)=Bln⁡A\ln(A^B)=B\ln A:

ln⁡y=1x⋅ln⁡(1+2x)=ln⁡(1+2x)x.\ln y=\frac1x\cdot\ln(1+2x)=\frac{\ln(1+2x)}{x}.

分母是一次,分子展开到一次项就够了。在 ln⁡(1+u)=u+o(u)\ln(1+u)=u+o(u) 里取 u=2xu=2x(x→0x\to0 时 u→0u\to0),再由常数倍规则 o(2x)=o(x)o(2x)=o(x):

ln⁡(1+2x)=2x+o(2x)=2x+o(x).\ln(1+2x)=2x+o(2x)=2x+o(x).

代回去,分母除到每一项上:

ln⁡y=2x+o(x)x=2+o(x)x→2+0=2.\ln y=\frac{2x+o(x)}{x}=2+\frac{o(x)}{x}\to2+0=2.

最后还原 yy。y=eln⁡yy=e^{\ln y},而 ete^t 是连续函数,极限可以移到指数上:

lim⁡x→0y=lim⁡x→0eln⁡y=elim⁡x→0ln⁡y=e2.\lim_{x\to0}y=\lim_{x\to0}e^{\ln y}=e^{\lim_{x\to0}\ln y}=e^2.

拉格朗日余项:误差到底有多大#

佩亚诺余项 o(xn)o(x^n) 只说误差“比 xnx^n 小得多”,没说具体多大。算极限时这就够了,因为只关心误差是否趋于 00。但如果要回答“算到第几项,误差才能小于 0.010.01”,就需要具体的数字。这时用拉格朗日余项:

f(x)=∑k=0nf(k)(0)k!xk+f(n+1)(ξ)(n+1)!xn+1,ξ 在 0 与 x 之间.f(x)=\sum_{k=0}^{n}\frac{f^{(k)}(0)}{k!}x^k+\frac{f^{(n+1)}(\xi)}{(n+1)!}x^{n+1},\qquad\xi\text{ 在 }0\text{ 与 }x\text{ 之间}.

它的条件比佩亚诺余项强:要求 ff 在包含 00 与 xx 的区间上有直到 n+1n+1 阶的导数。在一般的点 x0x_0 处展开时,余项是 f(n+1)(ξ)(n+1)!(x−x0)n+1\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1},ξ\xi 在 x0x_0 与 xx 之间。为什么说它是中值定理的推广?取 n=0n=0 代进去看。求和 ∑k=00\sum_{k=0}^{0} 只有 k=0k=0 一项,用 f(0)=ff^{(0)}=f、0!=10!=1、x0=1x^0=1,这一项是 f(0)0!x0=f(0)\frac{f(0)}{0!}x^0=f(0)。余项里 n+1=1n+1=1,是 f′(ξ)1!x1=f′(ξ)x\frac{f'(\xi)}{1!}x^1=f'(\xi)x。合起来:

f(x)=f(0)+f′(ξ)x,即f(x)−f(0)=f′(ξ)(x−0).f(x)=f(0)+f'(\xi)x,\qquad\text{即}\qquad f(x)-f(0)=f'(\xi)(x-0).

这正是第五节的拉格朗日中值定理(用在区间 [0,x][0,x] 上)。拉格朗日余项把它从“只用一阶导数”推广到了任意阶。

例 用 exe^x 展开到 x4x^4、再取 x=1x=1 的多项式近似 ee,误差有多大?

这里 n=4n=4,x=1x=1。多项式的值是

1+1+12!+13!+14!=1+1+12+16+124=6524≈2.70833.1+1+\frac1{2!}+\frac1{3!}+\frac1{4!}=1+1+\frac12+\frac16+\frac1{24}=\frac{65}{24}\approx2.70833.

exe^x 的各阶导数都是 exe^x,第 55 阶也是,所以拉格朗日余项是

eξ5!⋅15=eξ120,0<ξ<1.\frac{e^\xi}{5!}\cdot1^5=\frac{e^\xi}{120},\qquad0<\xi<1.

ξ\xi 具体是多少不知道,但 ete^t 是增函数,ξ<1\xi<1 给出 eξ<e1=ee^\xi<e^1=e,而 e≈2.718<3e\approx2.718<3,所以误差小于 3120=0.025\frac{3}{120}=0.025。实际上 e≈2.71828e\approx2.71828,实际误差是 2.71828−2.70833≈0.00992.71828-2.70833\approx0.0099,确实在 0.0250.025 以内。

为什么误差真的是 o(xn)o(x^n)(选读)#

前面说过,求系数只回答了“如果有这样的近似,多项式只能是什么”。还要证明:把这个多项式后面的东西都扔掉,剩下的误差确实是 o(xn)o(x^n)。只在一点上对上了有限多阶导数,并不能直接推出附近的误差都很小,所以需要证明。

为了能用中值定理,这里假设 ff 在展开点 aa 附近有直到 nn 阶的导数(比定理的最弱条件稍强,对常见的函数都成立)。记误差为

Rn(h)=f(a+h)−∑k=0nf(k)(a)k!hk.R_n(h)=f(a+h)-\sum_{k=0}^{n}\frac{f^{(k)}(a)}{k!}h^k.

要证明 Rn(h)hn→0\frac{R_n(h)}{h^n}\to0。用数学归纳法。

第一步,n=1n=1。 R1(h)=f(a+h)−f(a)−f′(a)hR_1(h)=f(a+h)-f(a)-f'(a)h。R1(h)=o(h)R_1(h)=o(h) 正是第四节“导数的另一种写法”,已经证明。

第二步,假设对 n−1n-1 成立,证明对 nn 成立。 归纳假设说的是:对任何在 aa 附近有直到 n−1n-1 阶导数的函数,展开到 n−1n-1 阶的误差除以 hn−1h^{n-1} 都趋于 00。注意它对任何函数都成立,下面要把它用在 f′f' 上,而不是 ff 上。

先把 Rn(h)R_n(h) 写开:

Rn(h)=f(a+h)−[f(a)0!+f′(a)1!h+f′′(a)2!h2+⋯+f(n)(a)n!hn].R_n(h)=f(a+h)-\left[\frac{f(a)}{0!}+\frac{f'(a)}{1!}h+\frac{f''(a)}{2!}h^2+\cdots+\frac{f^{(n)}(a)}{n!}h^n\right].

把它看成 hh 的函数求导。aa 是固定的展开点,所有 f(k)(a)f^{(k)}(a) 都是常数。逐项来看:

第一项 f(a+h)f(a+h):由链式法则,内层 a+ha+h 对 hh 的导数是 11,所以导数是 f′(a+h)f'(a+h)。

方括号里 k=0k=0 那一项 f(a)f(a) 是常数,求导得 00。k≥1k\ge1 的项 f(k)(a)k!hk\frac{f^{(k)}(a)}{k!}h^k,常数不动,hkh^k 求导得 khk−1kh^{k-1};由 k!=k⋅(k−1)!k!=k\cdot(k-1)!,约掉 kk:

f(k)(a)k!⋅khk−1=f(k)(a)(k−1)!hk−1.\frac{f^{(k)}(a)}{k!}\cdot kh^{k-1}=\frac{f^{(k)}(a)}{(k-1)!}h^{k-1}.

所以

Rn′(h)=f′(a+h)−[f′(a)+f′′(a)h+f′′′(a)2!h2+⋯+f(n)(a)(n−1)!hn−1].R_n'(h)=f'(a+h)-\left[f'(a)+f''(a)h+\frac{f'''(a)}{2!}h^2+\cdots+\frac{f^{(n)}(a)}{(n-1)!}h^{n-1}\right].

现在记 g=f′g=f'。ff 有直到 nn 阶的导数,所以 gg 有直到 n−1n-1 阶的导数,并且

g(a)=f′(a),g′(a)=f′′(a),g′′(a)=f′′′(a),…,g(n−1)(a)=f(n)(a).g(a)=f'(a),\quad g'(a)=f''(a),\quad g''(a)=f'''(a),\quad\dots,\quad g^{(n-1)}(a)=f^{(n)}(a).

把这些代进 gg 在 aa 处展开到 n−1n-1 阶的泰勒多项式 g(a)+g′(a)h+g′′(a)2!h2+⋯+g(n−1)(a)(n−1)!hn−1g(a)+g'(a)h+\frac{g''(a)}{2!}h^2+\cdots+\frac{g^{(n-1)}(a)}{(n-1)!}h^{n-1},得到的正好是上面方括号里那一串。而方括号前面的 f′(a+h)f'(a+h) 就是 g(a+h)g(a+h)。所以

Rn′(h)=g(a+h)−(g 展开到 n−1 阶的泰勒多项式),R_n'(h)=g(a+h)-\bigl(g\text{ 展开到 }n-1\text{ 阶的泰勒多项式}\bigr),

也就是 gg 展开到 n−1n-1 阶的误差。把归纳假设用在 gg 上:

lim⁡t→0Rn′(t)tn−1=0.\lim_{t\to0}\frac{R_n'(t)}{t^{n-1}}=0.

再看 Rn(0)R_n(0)。把 h=0h=0 代入:第一项是 f(a)f(a);方括号里 k=0k=0 的项是 f(a)f(a),其余各项都带 hh 的正整数次方,是 00。所以 Rn(0)=f(a)−f(a)=0R_n(0)=f(a)-f(a)=0。

现在用第五节的柯西中值定理:对两个函数 u(t)u(t)、v(t)v(t),在 00 与 hh 之间存在 ξ\xi 使 u(h)−u(0)v(h)−v(0)=u′(ξ)v′(ξ)\frac{u(h)-u(0)}{v(h)-v(0)}=\frac{u'(\xi)}{v'(\xi)}。取 u(t)=Rn(t)u(t)=R_n(t),v(t)=tnv(t)=t^n:分子 u(h)−u(0)=Rn(h)−0=Rn(h)u(h)-u(0)=R_n(h)-0=R_n(h),分母 v(h)−v(0)=hn−0=hnv(h)-v(0)=h^n-0=h^n,u′(ξ)=Rn′(ξ)u'(\xi)=R_n'(\xi),v′(ξ)=nξn−1v'(\xi)=n\xi^{n-1}。所以存在 ξ\xi(严格在 00 与 hh 之间,因此 ξ≠0\xi\ne0)使

Rn(h)hn=Rn′(ξ)nξn−1=1n⋅Rn′(ξ)ξn−1.\frac{R_n(h)}{h^n}=\frac{R_n'(\xi)}{n\xi^{n-1}}=\frac1n\cdot\frac{R_n'(\xi)}{\xi^{n-1}}.

ξ\xi 被夹在 00 与 hh 之间,0<∣ξ∣<∣h∣0<\lvert\xi\rvert<\lvert h\rvert,所以 h→0h\to0 时 ξ→0\xi\to0。而上面已经得到 t→0t\to0 时 Rn′(t)tn−1→0\frac{R_n'(t)}{t^{n-1}}\to0,把 tt 换成 ξ\xi,右边趋于 1n⋅0=0\frac1n\cdot0=0。所以

lim⁡h→0Rn(h)hn=0,即Rn(h)=o(hn),\lim_{h\to0}\frac{R_n(h)}{h^n}=0,\qquad\text{即}\qquad R_n(h)=o(h^n),

归纳完成。

这个证明只用了导数的定义、归纳法和第五节已经证明的中值定理。

总结一下泰勒公式做的两件事:第一,让各阶导数对上,求出唯一的多项式系数;第二,余项定理保证扔掉后面的东西以后,误差确实足够小。

拉格朗日余项的证明(选读)#

拉格朗日余项也可以从罗尔定理推出来。为了写起来简单,在点 aa 展开,记 Pn(t)P_n(t) 为 ff 在 aa 处展开到 nn 阶的泰勒多项式。

要证明的是:

f(x)−Pn(x)=f(n+1)(ξ)(n+1)!(x−a)n+1,ξ 在 a 与 x 之间.f(x)-P_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1},\qquad\xi\text{ 在 }a\text{ 与 }x\text{ 之间}.

固定一个 x≠ax\ne a。这时真实误差 f(x)−Pn(x)f(x)-P_n(x) 是一个确定的数,(x−a)n+1(x-a)^{n+1} 也是一个不为 00 的确定的数。用它们相除,定义一个数 KK:

K=f(x)−Pn(x)(x−a)n+1,也就是f(x)−Pn(x)=K(x−a)n+1.K=\frac{f(x)-P_n(x)}{(x-a)^{n+1}},\qquad\text{也就是}\qquad f(x)-P_n(x)=K(x-a)^{n+1}.

这一步没有推导任何东西,只是给这个比值起了个名字。对照要证明的式子,目标就变成:找到 aa 与 xx 之间的一个 ξ\xi,使 K=f(n+1)(ξ)(n+1)!K=\frac{f^{(n+1)}(\xi)}{(n+1)!}。

构造

ψ(t)=f(t)−Pn(t)−K(t−a)n+1.\psi(t)=f(t)-P_n(t)-K(t-a)^{n+1}.

这里 tt 是变量,xx、KK 都已经固定。

在 t=xt=x 处:ψ(x)=f(x)−Pn(x)−K(x−a)n+1=0\psi(x)=f(x)-P_n(x)-K(x-a)^{n+1}=0,这正是 KK 的定义。

在 t=at=a 处:先看 ψ(a)\psi(a)。Pn(a)=f(a)P_n(a)=f(a)(泰勒多项式在展开点的值就是 f(a)f(a)),(a−a)n+1=0(a-a)^{n+1}=0,所以 ψ(a)=f(a)−f(a)−0=0\psi(a)=f(a)-f(a)-0=0。

再看第 kk 阶导数,1≤k≤n1\le k\le n:

ψ(k)(t)=f(k)(t)−Pn(k)(t)−K[(t−a)n+1](k).\psi^{(k)}(t)=f^{(k)}(t)-P_n^{(k)}(t)-K\left[(t-a)^{n+1}\right]^{(k)}.

泰勒多项式就是按“前 nn 阶导数在 aa 处和 ff 相同”造出来的,所以 Pn(k)(a)=f(k)(a)P_n^{(k)}(a)=f^{(k)}(a),前两项相减为 00。最后一项:(t−a)n+1(t-a)^{n+1} 每求一次导数,指数降 11、前面多一个系数,求 kk 次后是

(n+1)n⋯(n−k+2) (t−a)n+1−k.(n+1)n\cdots(n-k+2)\,(t-a)^{n+1-k}.

因为 k≤nk\le n,剩下的指数 n+1−k≥1n+1-k\ge1,还带着因子 t−at-a,代入 t=at=a 得 00。所以

ψ(a)=ψ′(a)=ψ′′(a)=⋯=ψ(n)(a)=0.\psi(a)=\psi'(a)=\psi''(a)=\cdots=\psi^{(n)}(a)=0.

现在反复用罗尔定理。回忆一下:函数在闭区间上连续、在内部可导,两端的值相等,那么内部有一点导数为 00。不妨设 a<xa<x(x<ax<a 时完全一样)。

第 1 次,对 ψ\psi:ψ(a)=0=ψ(x)\psi(a)=0=\psi(x),在 [a,x][a,x] 上用罗尔定理,得到 ξ1∈(a,x)\xi_1\in(a,x),ψ′(ξ1)=0\psi'(\xi_1)=0。

第 2 次,对 ψ′\psi':ψ′(a)=0=ψ′(ξ1)\psi'(a)=0=\psi'(\xi_1),在更小的区间 [a,ξ1][a,\xi_1] 上用罗尔定理,得到 ξ2∈(a,ξ1)\xi_2\in(a,\xi_1),ψ′′(ξ2)=0\psi''(\xi_2)=0。

第 3 次,对 ψ′′\psi'':ψ′′(a)=0=ψ′′(ξ2)\psi''(a)=0=\psi''(\xi_2),在 [a,ξ2][a,\xi_2] 上得到 ξ3∈(a,ξ2)\xi_3\in(a,\xi_2),ψ′′′(ξ3)=0\psi'''(\xi_3)=0。

每一次左端点都是 aa(因为 ψ\psi 的前 nn 阶导数在 aa 处都是 00),右端点是上一次找到的点。这样一直做到第 n+1n+1 次:对 ψ(n)\psi^{(n)},ψ(n)(a)=0=ψ(n)(ξn)\psi^{(n)}(a)=0=\psi^{(n)}(\xi_n),得到 ξ∈(a,ξn)\xi\in(a,\xi_n),使 ψ(n+1)(ξ)=0\psi^{(n+1)}(\xi)=0。这些点一个比一个靠左:

a<ξ<ξn<⋯<ξ2<ξ1<x,a<\xi<\xi_n<\cdots<\xi_2<\xi_1<x,

所以 ξ\xi 在 aa 与 xx 之间。

最后算 ψ(n+1)\psi^{(n+1)}。PnP_n 最高只有 nn 次,每求一次导数次数降 11,求 n+1n+1 次后变成 00。(t−a)n+1(t-a)^{n+1} 依次求导:

(n+1)(t−a)n,(n+1)n(t−a)n−1,…,(n+1)n⋯2⋅1 (t−a)0=(n+1)!.(n+1)(t-a)^n,\quad(n+1)n(t-a)^{n-1},\quad\dots,\quad(n+1)n\cdots2\cdot1\,(t-a)^0=(n+1)!.

所以 ψ(n+1)(t)=f(n+1)(t)−0−K⋅(n+1)!\psi^{(n+1)}(t)=f^{(n+1)}(t)-0-K\cdot(n+1)!。代入 t=ξt=\xi:

0=ψ(n+1)(ξ)=f(n+1)(ξ)−(n+1)! K,K=f(n+1)(ξ)(n+1)!.0=\psi^{(n+1)}(\xi)=f^{(n+1)}(\xi)-(n+1)!\,K,\qquad K=\frac{f^{(n+1)}(\xi)}{(n+1)!}.

把这个 KK 代回 f(x)−Pn(x)=K(x−a)n+1f(x)-P_n(x)=K(x-a)^{n+1},就是要证的

f(x)=Pn(x)+f(n+1)(ξ)(n+1)!(x−a)n+1.f(x)=P_n(x)+\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1}.

由此马上得到一个可以直接用的误差估计:如果在这个区间上 ∣f(n+1)∣≤M\lvert f^{(n+1)}\rvert\le M,那么

∣f(x)−Pn(x)∣≤M(n+1)!∣x−a∣n+1.\lvert f(x)-P_n(x)\rvert\le\frac{M}{(n+1)!}\lvert x-a\rvert^{n+1}.

第二篇讲数值积分时,误差估计也是这样得到的。

展开无穷多项,能还原函数吗?(选读)#

有限阶的泰勒公式讨论的是:

阶数 n 固定,x→0.\text{阶数 }n\text{ 固定},\qquad x\to0.

而“把无穷多项加起来,能不能得到原来的函数”讨论的是:

x 固定,n→∞.x\text{ 固定},\qquad n\to\infty.

这是两个不同的极限。每一个固定的 nn 在 00 附近都近似得很好,并不能推出:固定一个不为 00 的 xx,一直增加阶数,就一定会趋于 f(x)f(x)。要说明可以,必须证明余项 Rn(x)→0R_n(x)\to0。

一个可以还原的例子:exe^x。 固定 xx。由拉格朗日余项,

Rn(x)=eξ(n+1)!xn+1,ξ 在 0 与 x 之间.R_n(x)=\frac{e^\xi}{(n+1)!}x^{n+1},\qquad\xi\text{ 在 }0\text{ 与 }x\text{ 之间}.

先把 eξe^\xi 控制住。ete^t 是增函数。若 x>0x>0,则 ξ<x\xi<x,eξ<ex=e∣x∣e^\xi<e^x=e^{\lvert x\rvert};若 x<0x<0,则 ξ<0\xi<0,eξ<e0=1≤e∣x∣e^\xi<e^0=1\le e^{\lvert x\rvert}。两种情形都有 eξ≤e∣x∣e^\xi\le e^{\lvert x\rvert},这是一个不随 nn 变的数。于是

∣Rn(x)∣≤e∣x∣∣x∣n+1(n+1)!.\lvert R_n(x)\rvert\le e^{\lvert x\rvert}\frac{\lvert x\rvert^{n+1}}{(n+1)!}.

再看后面的分式为什么趋于 00。记 bm=∣x∣mm!b_m=\frac{\lvert x\rvert^m}{m!},先拿 x=2x=2 试试:

b1=21=2,b2=42=2,b3=86≈1.33,b4=1624≈0.67,b5=32120≈0.27.b_1=\frac21=2,\quad b_2=\frac42=2,\quad b_3=\frac86\approx1.33,\quad b_4=\frac{16}{24}\approx0.67,\quad b_5=\frac{32}{120}\approx0.27.

开始不小,后面下降得越来越快。原因看相邻两项之比:

bm+1bm=∣x∣m+1∣x∣m⋅m!(m+1)!=∣x∣m+1.\frac{b_{m+1}}{b_m}=\frac{\lvert x\rvert^{m+1}}{\lvert x\rvert^m}\cdot\frac{m!}{(m+1)!}=\frac{\lvert x\rvert}{m+1}.

xx 固定,分母 m+1m+1 越来越大。取一个整数 M>2∣x∣M>2\lvert x\rvert,那么 m≥Mm\ge M 以后比值都小于 12\frac12,即 bm+1<12bmb_{m+1}<\frac12b_m。于是

bM+1<12bM,bM+2<(12)2bM,…,bM+j<(12)jbM.b_{M+1}<\frac12b_M,\quad b_{M+2}<\left(\frac12\right)^2b_M,\quad\dots,\quad b_{M+j}<\left(\frac12\right)^jb_M.

bMb_M 是固定的数,(12)j→0\left(\frac12\right)^j\to0,所以 bm→0b_m\to0,∣Rn(x)∣→0\lvert R_n(x)\rvert\to0。因此 ex=∑k=0∞xkk!e^x=\sum_{k=0}^\infty\frac{x^k}{k!} 对所有 xx 都成立,这和第二节选读里的定义一致。

sin⁡x\sin x、cos⁡x\cos x 也一样:它们的各阶导数是 ±sin⁡x\pm\sin x 或 ±cos⁡x\pm\cos x,绝对值都不超过 11,所以

∣Rn(x)∣=∣f(n+1)(ξ)∣(n+1)!∣x∣n+1≤∣x∣n+1(n+1)!→0,\lvert R_n(x)\rvert=\frac{\lvert f^{(n+1)}(\xi)\rvert}{(n+1)!}\lvert x\rvert^{n+1}\le\frac{\lvert x\rvert^{n+1}}{(n+1)!}\to0,

它们也能被自己的级数还原。

一个不能还原的例子。 令

f(x)={e−1/x2,x≠0,0,x=0.f(x)=\begin{cases}e^{-1/x^2},&x\ne0,\\0,&x=0.\end{cases}

xx 越接近 00,1x2\frac1{x^2} 越大,e−1/x2e^{-1/x^2} 越小,而且小得非常快:比 xx 的任何次方都快。具体地说:

引理 对任意固定的 m>0m>0,x→0x\to0 时 e−1/x2∣x∣m→0\dfrac{e^{-1/x^2}}{\lvert x\rvert^m}\to0。

比如 m=1m=1,就是说 e−1/x2e^{-1/x^2} 比 ∣x∣\lvert x\rvert 小得多;m=100m=100,就是比 ∣x∣100\lvert x\rvert^{100} 还小得多。

证明分三步。

第一步,换元。令 t=1x2t=\frac1{x^2},x→0x\to0 时 t→+∞t\to+\infty。分子 e−1/x2=e−te^{-1/x^2}=e^{-t}。由 t=1x2t=\frac1{x^2} 得 t=1∣x∣\sqrt t=\frac1{\lvert x\rvert},即 ∣x∣=t−1/2\lvert x\rvert=t^{-1/2},所以 ∣x∣m=t−m/2\lvert x\rvert^m=t^{-m/2}。于是

e−1/x2∣x∣m=e−tt−m/2=tm/2e−t.\frac{e^{-1/x^2}}{\lvert x\rvert^m}=\frac{e^{-t}}{t^{-m/2}}=t^{m/2}e^{-t}.

第二步,放缩 e−te^{-t}。由 ete^t 的级数 et=1+t+t22!+⋯+tNN!+⋯e^t=1+t+\frac{t^2}{2!}+\cdots+\frac{t^N}{N!}+\cdots,t>0t>0 时每一项都是正的,总和大于其中任何一项,所以对任意正整数 NN,et>tNN!e^t>\frac{t^N}{N!}。两边都是正数,取倒数不等号反向:

e−t<N!tN.e^{-t}<\frac{N!}{t^N}.

第三步,两边乘正数 tm/2t^{m/2}:

0<tm/2e−t<N! tm/2tN=N!tN−m/2.0<t^{m/2}e^{-t}<\frac{N!\,t^{m/2}}{t^N}=\frac{N!}{t^{N-m/2}}.

现在选一个整数 N>m2N>\frac m2(比如 m=1m=1 时取 N=1N=1,m=4m=4 时取 N=3N=3),使分母的指数 N−m2>0N-\frac m2>0。t→+∞t\to+\infty 时分母趋于 +∞+\infty,N!N! 是固定的数,所以右边趋于 00。左边是 00,由夹逼定理,tm/2e−t→0t^{m/2}e^{-t}\to0。

下面要说明:ff 在 00 处的各阶导数全是 00。

先看 x≠0x\ne0 处的导数长什么样。 把 ff 写成 e−x−2e^{-x^{-2}},用链式法则,外层是指数函数,内层 (−x−2)′=2x−3(-x^{-2})'=2x^{-3}:

f′(x)=e−1/x2⋅2x3=2(1x)3e−1/x2.f'(x)=e^{-1/x^2}\cdot\frac{2}{x^3}=2\left(\frac1x\right)^3e^{-1/x^2}.

再求一次,用乘积法则,其中 (2x−3)′=−6x−4(2x^{-3})'=-6x^{-4},(e−1/x2)′=2x3e−1/x2\left(e^{-1/x^2}\right)'=\frac2{x^3}e^{-1/x^2}:

f′′(x)=−6x4e−1/x2+2x3⋅2x3e−1/x2=[4(1x)6−6(1x)4]e−1/x2.f''(x)=-\frac6{x^4}e^{-1/x^2}+\frac2{x^3}\cdot\frac2{x^3}e^{-1/x^2}=\left[4\left(\frac1x\right)^6-6\left(\frac1x\right)^4\right]e^{-1/x^2}.

规律是:每一个导数都形如“1x\frac1x 的某个多项式 ×e−1/x2\times e^{-1/x^2}”。原因是,对这种形式再求导,乘积法则给出两部分:(1x)j\left(\frac1x\right)^j 求导得 −j(1x)j+1-j\left(\frac1x\right)^{j+1},还是 1x\frac1x 的幂;e−1/x2e^{-1/x^2} 求导多出因子 2(1x)32\left(\frac1x\right)^3,也是 1x\frac1x 的幂。所以求导之后形式不变。

再一阶一阶算 00 处的导数。 一阶,按定义:

f′(0)=lim⁡x→0f(x)−f(0)x−0=lim⁡x→0e−1/x2x.f'(0)=\lim_{x\to0}\frac{f(x)-f(0)}{x-0}=\lim_{x\to0}\frac{e^{-1/x^2}}{x}.

它的绝对值是 e−1/x2∣x∣\frac{e^{-1/x^2}}{\lvert x\rvert},由引理(m=1m=1)趋于 00,所以 f′(0)=0f'(0)=0。

二阶,用 f′(0)=0f'(0)=0 和上面算出的 f′(x)f'(x):

f′′(0)=lim⁡x→0f′(x)−f′(0)x=lim⁡x→0f′(x)x=lim⁡x→02x4e−1/x2.f''(0)=\lim_{x\to0}\frac{f'(x)-f'(0)}{x}=\lim_{x\to0}\frac{f'(x)}{x}=\lim_{x\to0}\frac{2}{x^4}e^{-1/x^2}.

绝对值是 2⋅e−1/x2∣x∣42\cdot\frac{e^{-1/x^2}}{\lvert x\rvert^4},由引理(m=4m=4)趋于 00,所以 f′′(0)=0f''(0)=0。

一般地,设已经知道 f(k)(0)=0f^{(k)}(0)=0,并且 x≠0x\ne0 时 f(k)(x)f^{(k)}(x) 是“1x\frac1x 的多项式 ×e−1/x2\times e^{-1/x^2}”。那么

f(k+1)(0)=lim⁡x→0f(k)(x)−0x=lim⁡x→01x⋅f(k)(x).f^{(k+1)}(0)=\lim_{x\to0}\frac{f^{(k)}(x)-0}{x}=\lim_{x\to0}\frac1x\cdot f^{(k)}(x).

多除一个 xx,只是把多项式里每一项 (1x)j\left(\frac1x\right)^j 变成 (1x)j+1\left(\frac1x\right)^{j+1}。乘开以后是有限多项,每一项都是常数乘 e−1/x2xj+1\frac{e^{-1/x^2}}{x^{j+1}},由引理(m=j+1m=j+1)趋于 00,所以 f(k+1)(0)=0f^{(k+1)}(0)=0。这样一阶接一阶,各阶导数全是 00。

后果。 把这些代进 ff 在 00 处的泰勒多项式:

Pn(x)=f(0)+f′(0)x+f′′(0)2!x2+⋯+f(n)(0)n!xn=0+0⋅x+0⋅x2+⋯+0⋅xn=0.P_n(x)=f(0)+f'(0)x+\frac{f''(0)}{2!}x^2+\cdots+\frac{f^{(n)}(0)}{n!}x^n=0+0\cdot x+0\cdot x^2+\cdots+0\cdot x^n=0.

不论 nn 取多少,泰勒多项式都是 00;每个固定的 nn 都成立 f(x)=0+o(xn)f(x)=0+o(x^n)。把无穷多项加起来,得到的也是 0+0+0+⋯=00+0+0+\cdots=0。可是 x≠0x\ne0 时 f(x)=e−1/x2>0f(x)=e^{-1/x^2}>0,比如 f(1)=e−1≈0.368f(1)=e^{-1}\approx0.368。级数处处是 00,函数却不是。也就是说:一个点上所有阶的导数,也不一定能决定附近的函数。

能被自己的泰勒级数还原的函数叫解析函数,exe^x、sin⁡x\sin x、多项式都是。在复数的范围里情况完全不同:在一个区域内处处可导的复变函数,自动就是解析的。这是复变函数论里最令人惊讶的结论之一。这里的“可导”要求从复平面上任何方向靠近,差商都趋于同一个值,比实数里的可导强得多。

八、分段函数、隐函数、参数方程与反函数#

求导法则都是第四节那几条。这一节的题目难在别处:要弄清楚哪个量随哪个量变化。

① 分段函数的连接点:先查连续,再用定义查可导#

例 设 x<0x<0 时 f(x)=ax+bf(x)=ax+b,x≥0x\ge0 时 f(x)=exf(x)=e^x。要求 ff 在 00 处可导,求 aa、bb。

可导一定连续,所以先查连续。左边 x→0−x\to0^- 时 ax+b→bax+b\to b;右边在 00 处的函数值 f(0)=e0=1f(0)=e^0=1。连续要求 b=1b=1。

再查导数。左导数(f(0)=1f(0)=1,b=1b=1):

lim⁡h→0−(ah+1)−1h=lim⁡h→0−ahh=a.\lim_{h\to0^-}\frac{(ah+1)-1}{h}=\lim_{h\to0^-}\frac{ah}{h}=a.

右导数:

lim⁡h→0+eh−1h=1.\lim_{h\to0^+}\frac{e^h-1}{h}=1.

可导要求两者相等,所以 a=1a=1。

对于复杂的分段函数,连接点 x=ax=a 处的导数要看

f(a+h)−f(a)h\frac{f(a+h)-f(a)}{h}

的左右极限(上面的例子是 a=0a=0)。不能只求两边的导函数,看它们的极限是否相等,就跳过函数值和连续性。

一个常用的结论:∣x−a∣g(x)\lvert x-a\rvert g(x) 什么时候在 aa 处可导。 设 gg 在 aa 处连续,F(x)=∣x−a∣g(x)F(x)=\lvert x-a\rvert g(x)。先算 F(a)=∣a−a∣g(a)=0F(a)=\lvert a-a\rvert g(a)=0。用定义:

F(a+h)−F(a)h=∣(a+h)−a∣ g(a+h)−0h=∣h∣h g(a+h).\frac{F(a+h)-F(a)}{h}=\frac{\lvert (a+h)-a\rvert\, g(a+h)-0}{h}=\frac{\lvert h\rvert}{h}\,g(a+h).

gg 在 aa 处连续,所以 h→0h\to0 时 g(a+h)→g(a)g(a+h)\to g(a)。

h>0h>0 时 ∣h∣=h\lvert h\rvert=h,∣h∣h=1\frac{\lvert h\rvert}h=1,右导数是 lim⁡h→0+g(a+h)=g(a)\lim\limits_{h\to0^+}g(a+h)=g(a)。

h<0h<0 时 ∣h∣=−h\lvert h\rvert=-h,∣h∣h=−1\frac{\lvert h\rvert}h=-1,左导数是 lim⁡h→0−(−g(a+h))=−g(a)\lim\limits_{h\to0^-}\left(-g(a+h)\right)=-g(a)。

两者相等当且仅当 g(a)=−g(a)g(a)=-g(a),即 2g(a)=02g(a)=0,g(a)=0g(a)=0。所以:FF 在 aa 处可导,当且仅当 g(a)=0g(a)=0,这时 F′(a)=0F'(a)=0。比如 ∣x−1∣(x2−1)\lvert x-1\rvert(x^2-1):这里 a=1a=1,g(x)=x2−1g(x)=x^2-1,g(1)=1−1=0g(1)=1-1=0,所以在 x=1x=1 处可导。而 ∣x−1∣(x+1)\lvert x-1\rvert(x+1):g(x)=x+1g(x)=x+1,g(1)=2≠0g(1)=2\ne0,所以在 x=1x=1 处不可导。

回到上面说的问题:什么时候可以用两边导函数的极限,来判断连接点处的导数?准确的结论是下面这一条。

导数极限定理 若 ff 在 aa 处连续,在 aa 附近(x≠ax\ne a)可导,且 lim⁡x→af′(x)=L\lim\limits_{x\to a}f'(x)=L 存在,则 f′(a)f'(a) 存在,并且等于 LL。

比如 f(x)=∣x∣3f(x)=\lvert x\rvert^3:在 00 处连续;x>0x>0 时 f′(x)=3x2f'(x)=3x^2,x<0x<0 时 f′(x)=−3x2f'(x)=-3x^2,两边都趋于 00,所以 f′(0)=0f'(0)=0,不必再算差商。

证明:要证的是差商 f(a+h)−f(a)h\frac{f(a+h)-f(a)}{h} 在 h→0h\to0 时趋于 LL。

取一个小的 h≠0h\ne0。ff 在 aa 处连续,在 aa 附近可导(因此也连续),所以 ff 在以 aa、a+ha+h 为端点的闭区间上连续,在内部可导,满足第五节拉格朗日中值定理的条件。于是存在一点 ξ\xi,严格在 aa 与 a+ha+h 之间,使

f(a+h)−f(a)h=f′(ξ).\frac{f(a+h)-f(a)}{h}=f'(\xi).

ξ\xi 随 hh 而定。它被夹在 aa 与 a+ha+h 之间,0<∣ξ−a∣<∣h∣0<\lvert\xi-a\rvert<\lvert h\rvert,所以 h→0h\to0 时 ξ→a\xi\to a,并且 ξ≠a\xi\ne a。由条件 lim⁡x→af′(x)=L\lim\limits_{x\to a}f'(x)=L,得 f′(ξ)→Lf'(\xi)\to L。所以

f′(a)=lim⁡h→0f(a+h)−f(a)h=lim⁡h→0f′(ξ)=L.f'(a)=\lim_{h\to0}\frac{f(a+h)-f(a)}{h}=\lim_{h\to0}f'(\xi)=L.

它对单侧也成立:若 ff 在 aa 处连续,lim⁡x→a+f′(x)\lim\limits_{x\to a^+}f'(x) 存在,则右导数 f+′(a)f'_+(a) 等于它(证明只用 h>0h>0);左侧同理。分段函数在连接点两侧的式子不同,通常就是先确认连续,再分别算两侧导函数的极限。

这是一个充分条件,不是必要条件。反例 (2) 说明:导函数的极限不存在时,函数仍可能可导,必须回到定义判断。

反例 (2) 还说明,导函数可以存在却不连续。不过导函数的“不连续”只能是这种振荡型的:

达布定理 若 ff 在 [a,b][a,b] 上可导(端点处指单侧导数:aa 处是右导数,bb 处是左导数),那么 f′f' 能取到 f′(a)f'(a) 与 f′(b)f'(b) 之间的每一个值。

比如 f′(a)=−1f'(a)=-1,f′(b)=2f'(b)=2,那么在 aa 和 bb 之间,f′f' 一定在某处等于 00,某处等于 11,−1-1 和 22 之间的每个数都能取到。这和“开始之前”的介值定理说的是同一类事,但介值定理要求函数连续,而这里的 f′f' 不必连续。

所以导函数不可能有跳跃间断点或可去间断点:那两种情况都会“跳过”一些中间值。

看跳跃间断点。假设 f′f' 在 cc 左边靠近 cc 时接近 11,右边接近 33。在 cc 左边取一点 pp,f′(p)f'(p) 接近 11;右边取一点 qq,f′(q)f'(q) 接近 33。达布定理说 f′f' 在 pp、qq 之间要取到 22 附近的每个值;可是 cc 左边的值都接近 11,右边都接近 33,f′(c)f'(c) 也只是一个数,取不全这些值。用 ε\varepsilon 写严格并不难,这里只说思路。

可去间断点也一样:假设 f′f' 在 cc 两侧都接近 22,而 f′(c)=5f'(c)=5。在 cc 旁边取一点 pp,f′(p)f'(p) 接近 22;达布定理要求在 pp 和 cc 之间取到 22 到 55 之间的每个值,比如 3.53.5,但这些点上 f′f' 都接近 22,取不到。

所以导函数如果不连续,只能是反例 (2) 那样,在某点附近不停振荡。第二篇会用这个结论判断哪些函数没有原函数。

② 隐函数:把 yy 当成随 xx 变化的量#

方程 x2+y2=1x^2+y^2=1 描述单位圆。它没有写成 y=⋯y=\cdots 的形式,但在圆上某一点附近(比如上半圆),yy 确实是 xx 的函数(y=1−x2y=\sqrt{1-x^2})。这种由方程隐含地确定的函数叫隐函数。不必解出 yy,也能求导。

两边对 xx 求导。yy 是 xx 的函数,y2y^2 是“平方套着 y(x)y(x)”,按链式法则求导得 2y⋅y′2y\cdot y':

2x+2y⋅y′=0.2x+2y\cdot y'=0.

若 y≠0y\ne0:

y′=−xy.y'=-\frac xy.

验证:上半圆 y=1−x2=(1−x2)1/2y=\sqrt{1-x^2}=(1-x^2)^{1/2} 直接求导。链式法则,外层 ( )1/2(\ )^{1/2} 求导得 12(1−x2)−1/2=121−x2\frac12(1-x^2)^{-1/2}=\frac1{2\sqrt{1-x^2}},内层 (1−x2)′=−2x(1-x^2)'=-2x:

y′=121−x2⋅(−2x)=−x1−x2=−xy,y'=\frac1{2\sqrt{1-x^2}}\cdot(-2x)=-\frac{x}{\sqrt{1-x^2}}=-\frac xy,

最后一步用了 1−x2=y\sqrt{1-x^2}=y。两种方法一致。

结果里同时有 xx 和 yy。要求某一点的导数,比如 x=12x=\frac12 处(上半圆),先把 x=12x=\frac12 代回原方程求出 yy:y2=1−14y^2=1-\frac14,y=32y=\frac{\sqrt3}2(上半圆取正);再把这一对 (x,y)(x,y) 一起代入:y′=−1/23/2=−13y'=-\frac{1/2}{\sqrt3/2}=-\frac1{\sqrt3}。

再求二阶导数。 不用急着对分式 −xy-\frac xy 求导,可以对上一行 2x+2yy′=02x+2yy'=0 两边再对 xx 求一次导。(2x)′=2(2x)'=2;yy′yy' 是 yy 与 y′y' 的乘积,yy 的导数是 y′y',y′y' 的导数是 y′′y'',用乘积法则:(yy′)′=y′⋅y′+y⋅y′′(yy')'=y'\cdot y'+y\cdot y'';右边 00 的导数是 00。所以

2+2(y′)2+2y⋅y′′=0.2+2(y')^2+2y\cdot y''=0.

两边除以 22,再把不含 y′′y'' 的项移到右边,最后除以 yy(y≠0y\ne0):

1+(y′)2+y⋅y′′=0,y⋅y′′=−[1+(y′)2],y′′=−1+(y′)2y.1+(y')^2+y\cdot y''=0,\qquad y\cdot y''=-\left[1+(y')^2\right],\qquad y''=-\frac{1+(y')^2}{y}.

再代入 y′=−xyy'=-\frac xy,并利用 x2+y2=1x^2+y^2=1:

y′′=−1+x2y2y=−y2+x2y2y=−y2+x2y3=−1y3.y''=-\frac{1+\frac{x^2}{y^2}}{y}=-\frac{\frac{y^2+x^2}{y^2}}{y}=-\frac{y^2+x^2}{y^3}=-\frac1{y^3}.

每次碰到 yy 都要记得乘链式法则带出的 y′y'。y≠0y\ne0 是使用这些式子的条件:y=0y=0 对应圆的最左、最右两点,那里切线是竖直的,yy 不能写成 xx 的可导函数。

③ 参数方程:求 yy 对 xx 的变化率#

有些曲线用第三个变量 tt(叫参数)同时描述 xx 和 yy 更方便。比如单位圆可以写成 x=cos⁡tx=\cos t,y=sin⁡ty=\sin t;质点运动时,tt 是时间,(x(t),y(t))(x(t),y(t)) 是位置。

设 x=t2x=t^2,y=t3y=t^3,t>0t>0。

dxdt=2t,dydt=3t2.\frac{dx}{dt}=2t,\qquad \frac{dy}{dt}=3t^2.

因此

dydx=dy/dtdx/dt=3t22t=3t2.\frac{dy}{dx}=\frac{dy/dt}{dx/dt}=\frac{3t^2}{2t}=\frac{3t}{2}.

二阶导数 d2ydx2\frac{d^2y}{dx^2} 是“这个斜率再对 xx 求导”。斜率 3t2\frac{3t}2 是 tt 的函数,所以用同样的办法:先对 tt 求导得 32\frac32,再除以 dxdt=2t\frac{dx}{dt}=2t:

d2ydx2=ddt(3t2)dxdt=3/22t=34t.\frac{d^2y}{dx^2}=\frac{\frac{d}{dt}\left(\frac{3t}{2}\right)}{\frac{dx}{dt}}=\frac{3/2}{2t}=\frac{3}{4t}.

一般公式。 先说一个总的规则:对任何一个随 tt 变化的量 u(t)u(t),由链式法则,

dudx=du/dtdx/dt.\frac{du}{dx}=\frac{du/dt}{dx/dt}.

即“对 xx 求导 = 先对 tt 求导,再除以 dxdt\frac{dx}{dt}”。一阶导数是把它用在 u=yu=y 上;二阶导数是把它用在 u=dydxu=\frac{dy}{dx} 上。最容易忘的,就是最后那一步“再除以 dxdt\frac{dx}{dt}”。

为了写得短,用牛顿的记号:字母上加一个点表示对 tt 求一次导数,加两个点表示求两次。即 x˙=dxdt\dot x=\frac{dx}{dt},x¨=d2xdt2\ddot x=\frac{d^2x}{dt^2};y˙=dydt\dot y=\frac{dy}{dt},y¨=d2ydt2\ddot y=\frac{d^2y}{dt^2}。这样斜率是 dydx=y˙x˙\frac{dy}{dx}=\frac{\dot y}{\dot x}。

第一步,斜率 y˙x˙\frac{\dot y}{\dot x} 对 tt 求导,用商的法则 (uv)′=u′v−uv′v2\left(\frac uv\right)'=\frac{u'v-uv'}{v^2}。这里 u=y˙u=\dot y,u′=y¨u'=\ddot y;v=x˙v=\dot x,v′=x¨v'=\ddot x:

ddt(y˙x˙)=y¨x˙−y˙x¨x˙2.\frac{d}{dt}\left(\frac{\dot y}{\dot x}\right)=\frac{\ddot y\dot x-\dot y\ddot x}{\dot x^2}.

第二步,再除以 dxdt=x˙\frac{dx}{dt}=\dot x。除以 x˙\dot x 就是分母再乘一个 x˙\dot x:

d2ydx2=y¨x˙−y˙x¨x˙2⋅1x˙=y¨x˙−y˙x¨x˙3.\frac{d^2y}{dx^2}=\frac{\ddot y\dot x-\dot y\ddot x}{\dot x^2}\cdot\frac1{\dot x}=\frac{\ddot y\dot x-\dot y\ddot x}{\dot x^3}.

分母是 x˙\dot x 的三次方:商的法则贡献两次,最后除以 x˙\dot x 又是一次。本例 x˙=2t\dot x=2t,x¨=2\ddot x=2,y˙=3t2\dot y=3t^2,y¨=6t\ddot y=6t:6t⋅2t−3t2⋅28t3=12t2−6t28t3=6t28t3=34t\frac{6t\cdot2t-3t^2\cdot2}{8t^3}=\frac{12t^2-6t^2}{8t^3}=\frac{6t^2}{8t^3}=\frac3{4t},一致。

④ 相关变化率:几个量通过方程联系,一起随时间变化#

两个量 x(t)x(t)、y(t)y(t) 满足某个关系式,知道其中一个变化的速度,求另一个变化的速度。做法:写出关系式,两边对时间 tt 求导(链式法则),代入那一时刻的值。

例 一架 55 米长的梯子靠在竖直的墙上,底端以每秒 11 米的速度离开墙。底端离墙 33 米时,顶端沿墙下滑的速度是多少?

设底端离墙 xx,顶端高 yy,由勾股定理 x2+y2=25x^2+y^2=25。两边对 tt 求导:

2xdxdt+2ydydt=0⟹dydt=−xydxdt.2x\frac{dx}{dt}+2y\frac{dy}{dt}=0\quad\Longrightarrow\quad\frac{dy}{dt}=-\frac{x}{y}\frac{dx}{dt}.

x=3x=3 时 y=25−9=4y=\sqrt{25-9}=4,dxdt=1\frac{dx}{dt}=1,所以 dydt=−34\frac{dy}{dt}=-\frac34 米/秒。负号表示 yy 在减小,即顶端以每秒 0.750.75 米下滑。注意,底端匀速离开,顶端却不是匀速下滑:xx 越接近 55,yy 越小,xy\frac xy 越大,顶端滑得越快。

⑤ 反函数:把导数倒过来#

若 y=f(x)y=f(x),在附近能反解出 x=g(y)x=g(y),且 f′(x)≠0f'(x)\ne0,则

g′(y)=1f′(x).g'(y)=\frac1{f'(x)}.

第四节先用了这条规则来推反三角函数的导数,这里给出证明。

先证明反函数可导。 只对 f(g(y))=yf(g(y))=y 两边求导是不够的:那样做已经默认了 gg 可导。要用差商来证。设 y0=f(x0)y_0=f(x_0),ff 是一一对应的(所以有反函数 gg),gg 在 y0y_0 处连续,f′(x0)≠0f'(x_0)\ne0。

要算的是差商

g(y0+h)−g(y0)h.\frac{g(y_0+h)-g(y_0)}{h}.

由 y0=f(x0)y_0=f(x_0) 得 g(y0)=x0g(y_0)=x_0。我们对 gg 一无所知,但对 ff 知道很多,所以想办法把它换成 ff 的差商。先给分子起个名字:对小的 h≠0h\ne0,令

k=g(y0+h)−x0,即x0+k=g(y0+h).k=g(y_0+h)-x_0,\qquad\text{即}\qquad x_0+k=g(y_0+h).

两边用 ff 作用。ff 和 gg 互为反函数,f(g(某数))=该数f(g(\text{某数}))=\text{该数},所以 f(x0+k)=y0+hf(x_0+k)=y_0+h。两边减去 y0=f(x0)y_0=f(x_0):

h=f(x0+k)−f(x0).h=f(x_0+k)-f(x_0).

这样差商的分子是 kk,分母是 f(x0+k)−f(x0)f(x_0+k)-f(x_0)。

还要检查两件事。第一,gg 在 y0y_0 处连续,所以 h→0h\to0 时 k=g(y0+h)−g(y0)→0k=g(y_0+h)-g(y_0)\to0。第二,h≠0h\ne0 时 y0+h≠y0y_0+h\ne y_0,一一对应的函数把不同的数送到不同的数,所以 g(y0+h)≠g(y0)g(y_0+h)\ne g(y_0),即 k≠0k\ne0。下面要把 kk 放进分母,这一条保证不会除以 00。于是

g(y0+h)−g(y0)h=kf(x0+k)−f(x0)=1f(x0+k)−f(x0)k.\frac{g(y_0+h)-g(y_0)}{h}=\frac{k}{f(x_0+k)-f(x_0)}=\frac{1}{\dfrac{f(x_0+k)-f(x_0)}{k}}.

h→0h\to0 时 k→0k\to0 且 k≠0k\ne0,下面那层分母正是 ff 在 x0x_0 处的差商,趋于 f′(x0)f'(x_0);又 f′(x0)≠0f'(x_0)\ne0,所以整个式子趋于 1f′(x0)\frac1{f'(x_0)}。差商的极限存在,gg 在 y0y_0 处可导,g′(y0)=1f′(x0)g'(y_0)=\frac1{f'(x_0)}。

(在一个区间上连续、严格单调的函数,它的反函数也连续,满足这里的条件。)知道 gg 可导以后,对 f(g(y))=yf(g(y))=y 用链式法则,也得到同一个公式:f′(g(y))⋅g′(y)=1f'(g(y))\cdot g'(y)=1。几何上,反函数的图像是原图像沿 y=xy=x 翻折,斜率为 mm 的直线翻折后斜率变成 1m\frac1m(交换横纵坐标,“纵向变化除以横向变化”就倒过来了)。

再求一次导数。 g′(y)=1f′(g(y))g'(y)=\dfrac1{f'(g(y))} 是 yy 的函数,对 yy 求导。记分母 u(y)=f′(g(y))u(y)=f'(g(y)),则 g′(y)=1ug'(y)=\frac1u。

分母 u(y)=f′(g(y))u(y)=f'(g(y)) 是“f′f' 套着 g(y)g(y)”。链式法则:外层 f′f' 求导得 f′′f'',括号里仍是 g(y)g(y);再乘内层 g(y)g(y) 的导数 g′(y)g'(y)。所以 u′(y)=f′′(g(y))⋅g′(y)u'(y)=f''(g(y))\cdot g'(y)。

由 (1u)′=−u′u2\left(\frac1u\right)'=-\frac{u'}{u^2}:

g′′(y)=−f′′(g(y))⋅g′(y)[f′(g(y))]2.g''(y)=-\frac{f''(g(y))\cdot g'(y)}{[f'(g(y))]^2}.

把 g(y)g(y) 写回 xx,再代入 g′(y)=1f′(x)g'(y)=\frac1{f'(x)}:

g′′(y)=−f′′(x)⋅1f′(x)[f′(x)]2=−f′′(x)[f′(x)]2⋅f′(x)=−f′′(x)[f′(x)]3.g''(y)=-\frac{f''(x)\cdot\frac1{f'(x)}}{[f'(x)]^2}=-\frac{f''(x)}{[f'(x)]^2\cdot f'(x)}=-\frac{f''(x)}{[f'(x)]^3}.

三次方的来历:平方来自 (1u)′\left(\frac1u\right)' 的分母,再多一次来自 g′(y)=1f′(x)g'(y)=\frac1{f'(x)}。注意右边的 xx 是 g(y)g(y) 的简写:要算 g′′(y0)g''(y_0),得先找出满足 f(x0)=y0f(x_0)=y_0 的 x0x_0,再把 x0x_0 代进去,不能把 y0y_0 直接代给 xx。

例如 y=x2y=x^2,取 x>0x>0 这一支,x=g(y)=yx=g(y)=\sqrt y。f′(x)=2xf'(x)=2x,f′′(x)=2f''(x)=2,代入公式,(2x)3=8x3(2x)^3=8x^3,再把 x=y1/2x=y^{1/2} 代回,x3=(y1/2)3=y3/2x^3=(y^{1/2})^3=y^{3/2}:

g′′(y)=−2(2x)3=−28x3=−14x3=−14y3/2.g''(y)=-\frac{2}{(2x)^3}=-\frac{2}{8x^3}=-\frac{1}{4x^3}=-\frac{1}{4y^{3/2}}.

直接验证:g(y)=y1/2g(y)=y^{1/2},用 (yα)′=αyα−1(y^\alpha)'=\alpha y^{\alpha-1} 求两次,

g′(y)=12y−1/2,g′′(y)=12⋅(−12)y−3/2=−14y−3/2,g'(y)=\frac12y^{-1/2},\qquad g''(y)=\frac12\cdot\left(-\frac12\right)y^{-3/2}=-\frac14y^{-3/2},

一致。

先确定分支很重要:x2x^2 在整条实数轴上不是一一对应的(22=(−2)22^2=(-2)^2),不能直接谈它的反函数。

九、高阶导数、切线、近似计算与牛顿法#

① 高阶导数:先找规律#

sin⁡x\sin x 反复求导:

sin⁡x → cos⁡x → −sin⁡x → −cos⁡x → sin⁡x.\sin x\ \to\ \cos x\ \to\ -\sin x\ \to\ -\cos x\ \to\ \sin x.

每 44 次循环一次。能不能用一个式子写出第 nn 阶导数?用诱导公式 cos⁡θ=sin⁡(θ+π2)\cos\theta=\sin\left(\theta+\frac\pi2\right),把每次求导的结果都写成 sin⁡\sin:

(sin⁡x)′=cos⁡x=sin⁡(x+π2),(sin⁡x)′′=[sin⁡(x+π2)]′=cos⁡(x+π2)=sin⁡(x+π2+π2)=sin⁡(x+2⋅π2),(sin⁡x)′′′=[sin⁡(x+2⋅π2)]′=cos⁡(x+2⋅π2)=sin⁡(x+3⋅π2).\begin{aligned} (\sin x)'&=\cos x=\sin\left(x+\frac\pi2\right),\\ (\sin x)''&=\left[\sin\left(x+\frac\pi2\right)\right]'=\cos\left(x+\frac\pi2\right)=\sin\left(x+\frac\pi2+\frac\pi2\right)=\sin\left(x+2\cdot\frac\pi2\right),\\ (\sin x)'''&=\left[\sin\left(x+2\cdot\frac\pi2\right)\right]'=\cos\left(x+2\cdot\frac\pi2\right)=\sin\left(x+3\cdot\frac\pi2\right). \end{aligned}

第二行求导时,把 x+π2x+\frac\pi2 当成一个整体(它对 xx 的导数是 11),所以 sin⁡\sin 变 cos⁡\cos,再用诱导公式变回 sin⁡\sin。每求一次导,角就加一个 π2\frac\pi2,因此第 nn 阶导数可以写成

(sin⁡x)(n)=sin⁡(x+nπ2).(\sin x)^{(n)}=\sin\left(x+\frac{n\pi}{2}\right).

检查:n=2n=2 时 sin⁡(x+π)=−sin⁡x\sin(x+\pi)=-\sin x,正确。

eaxe^{ax} 反复求导。由链式法则,外层 eue^u 的导数是 eue^u,内层 u=axu=ax 的导数是 aa,所以 (eax)′=aeax(e^{ax})'=ae^{ax}。常数 aa 留在前面,再求一次又多一个 aa:

(eax)′=aeax,(eax)′′=a⋅aeax=a2eax,(eax)′′′=a3eax,(e^{ax})'=ae^{ax},\qquad(e^{ax})''=a\cdot ae^{ax}=a^2e^{ax},\qquad(e^{ax})'''=a^3e^{ax},

所以第 nn 阶导数是 aneaxa^ne^{ax}。

1x+a=(x+a)−1\frac1{x+a}=(x+a)^{-1} 反复求导:

  • 第 1 次:(−1)(x+a)−2=−1(x+a)2(-1)(x+a)^{-2}=-\dfrac1{(x+a)^2};
  • 第 2 次:(−1)(−2)(x+a)−3=2(x+a)3(-1)(-2)(x+a)^{-3}=\dfrac{2}{(x+a)^3};
  • 第 3 次:(−1)(−2)(−3)(x+a)−4=−6(x+a)4(-1)(-2)(-3)(x+a)^{-4}=-\dfrac{6}{(x+a)^4}。

每次把指数降下来乘到前面,系数依次是 −1,−2,−3,…-1,-2,-3,\dots。所以第 nn 阶:

(1x+a)(n)=(−1)(−2)⋯(−n)(x+a)n+1=(−1)nn!(x+a)n+1.\left(\frac1{x+a}\right)^{(n)}=\frac{(-1)(-2)\cdots(-n)}{(x+a)^{n+1}}=\frac{(-1)^nn!}{(x+a)^{n+1}}.

(−1)n(-1)^n 管符号:nn 为奇数时为负,偶数时为正。

用泰勒展开反求某一点的高阶导数。 第七节说过,xnx^n 的系数等于 f(n)(0)n!\frac{f^{(n)}(0)}{n!}。反过来,如果用别的办法知道了 ff 展开式里 xnx^n 的系数 AnA_n,就有

f(n)(0)=n! An.f^{(n)}(0)=n!\,A_n.

例 求 f(x)=11+x2f(x)=\frac1{1+x^2} 的 f(100)(0)f^{(100)}(0) 和 f(101)(0)f^{(101)}(0)。

第七节由等比数列求和得到 11+u=1−u+u2−u3+⋯+(−1)kuk+o(uk)\frac1{1+u}=1-u+u^2-u^3+\cdots+(-1)^ku^k+o(u^k)。把 uu 整体换成 x2x^2(代换规则,o((x2)k)=o(x2k)o\left((x^2)^k\right)=o(x^{2k})):

11+x2=1−x2+(x2)2−(x2)3+⋯=1−x2+x4−x6+⋯+(−1)kx2k+⋯\frac1{1+x^2}=1-x^2+(x^2)^2-(x^2)^3+\cdots=1-x^2+x^4-x^6+\cdots+(-1)^kx^{2k}+\cdots

各项都是 xx 的偶数次方,第 kk 项是 (−1)kx2k(-1)^kx^{2k}。

求 f(100)(0)f^{(100)}(0):要 x100x^{100} 的系数。令 2k=1002k=100,k=50k=50,系数是 A100=(−1)50=1A_{100}=(-1)^{50}=1,所以 f(100)(0)=100!⋅1=100!f^{(100)}(0)=100!\cdot1=100!。

求 f(101)(0)f^{(101)}(0):展开里没有奇数次项,x101x^{101} 的系数 A101=0A_{101}=0,所以 f(101)(0)=101!⋅0=0f^{(101)}(0)=101!\cdot0=0。如果用莱布尼茨公式直接求 100100 阶导数,会非常繁琐。

有理分式可以先拆成几个简单分式,再用这个规律,通常比对复杂分式硬求 nn 次导数省事得多。比如 1x2−1\frac1{x^2-1}:分母分解成 (x−1)(x+1)(x-1)(x+1),设

1(x−1)(x+1)=Ax−1+Bx+1=A(x+1)+B(x−1)(x−1)(x+1).\frac1{(x-1)(x+1)}=\frac A{x-1}+\frac B{x+1}=\frac{A(x+1)+B(x-1)}{(x-1)(x+1)}.

两边分母相同,分子要对所有 xx 都相等:1=A(x+1)+B(x−1)1=A(x+1)+B(x-1)。两边都是多项式,这个等式对所有 xx 成立,所以可以代入任何方便的数(原来的分式在 x=±1x=\pm1 处没有意义,但分子的等式是多项式等式,代入 ±1\pm1 没有问题)。代入 x=1x=1:1=2A1=2A,A=12A=\frac12。代入 x=−1x=-1:1=−2B1=-2B,B=−12B=-\frac12。所以

1x2−1=12(1x−1−1x+1),\frac1{x^2-1}=\frac12\left(\frac1{x-1}-\frac1{x+1}\right),

两项各自套上面 (1x+a)(n)\left(\frac1{x+a}\right)^{(n)} 的公式即可:第一项 a=−1a=-1,第二项 a=1a=1。具体结果见本节的练习。(这种拆分叫部分分式,第二篇讲有理函数积分时会系统地讲。)

② 多项式乘指数:乘积的高阶导数很快就截断#

例如求 x2exx^2e^x 的第 nn 阶导数,n≥2n\ge2。

用乘积法则求一次导,得到两项:一项是 x2x^2 被求导,一项是 exe^x 被求导。求 nn 次导,就相当于每一次求导都要选择:落在 x2x^2 上,还是落在 exe^x 上。落在 exe^x 上不改变它;落在 x2x^2 上超过两次就变成 00。所以只剩三类:

  • 一次都不落在 x2x^2 上:x2exx^2e^x;
  • 恰好落一次:nn 次中选 11 次,有 nn 种位置,每种贡献 2x⋅ex2x\cdot e^x,合计 2nxex2nxe^x;
  • 恰好落两次:nn 次中选 22 次,有 n(n−1)2\frac{n(n-1)}2 种选法,每种贡献 2⋅ex2\cdot e^x,合计 n(n−1)exn(n-1)e^x。

加起来:

(x2ex)(n)=ex[x2+2nx+n(n−1)].(x^2e^x)^{(n)}=e^x\left[x^2+2nx+n(n-1)\right].

这正是莱布尼茨公式取 u=x2u=x^2、v=exv=e^x 的结果。uu 的各阶导数是 u=x2u=x^2,u′=2xu'=2x,u′′=2u''=2,u(k)=0u^{(k)}=0(k≥3k\ge3);vv 求几次导都是 exe^x。所以求和里只剩 k=0,1,2k=0,1,2 三项:

(n0)x2ex+(n1)⋅2x⋅ex+(n2)⋅2⋅ex=x2ex+2nxex+n(n−1)2⋅2ex,\binom n0x^2e^x+\binom n1\cdot2x\cdot e^x+\binom n2\cdot2\cdot e^x=x^2e^x+2nxe^x+\frac{n(n-1)}2\cdot2e^x,

和上面逐类数出来的一样。

检查 n=2n=2:直接算,(x2ex)′=ex(x2+2x)(x^2e^x)'=e^x(x^2+2x),再求一次 (x2ex)′′=ex(x2+2x)+ex(2x+2)=ex(x2+4x+2)(x^2e^x)''=e^x(x^2+2x)+e^x(2x+2)=e^x(x^2+4x+2);公式给出 ex(x2+4x+2)e^x(x^2+4x+2),一致。

③ 切线和法线:点和斜率都要有#

y=f(x)y=f(x) 在 x=ax=a 处的切线,过点 (a,f(a))(a,f(a)),斜率是 f′(a)f'(a)。由点斜式:

y−f(a)=f′(a)(x−a).y-f(a)=f'(a)(x-a).

例如 y=x2y=x^2 在 x=1x=1 处:点是 (1,1)(1,1),斜率是 2⋅1=22\cdot1=2,所以切线是 y−1=2(x−1)y-1=2(x-1),即 y=2x−1y=2x-1。

法线是过切点、与切线垂直的直线。如果切线斜率 k≠0k\ne0,法线斜率为 −1k-\frac1k。本例的法线是

y−1=−12(x−1).y-1=-\frac12(x-1).

xy11O(1, 1)切线 y = 2x − 1法线y = x2 图 11:y = x² 在 (1, 1) 处的切线斜率为 2,法线斜率为 −1/2,两者垂直。

切线水平时(f′(a)=0f'(a)=0),法线是竖直线 x=ax=a,不能用有限的斜率表示。反过来,切线也可能是竖直的。比如 y=x3y=\sqrt[3]x 在 00 处,过原点和 (x,x3)(x,\sqrt[3]x) 的割线斜率是

x3−0x−0=x1/3x=1x2/3=1x23.\frac{\sqrt[3]x-0}{x-0}=\frac{x^{1/3}}{x}=\frac1{x^{2/3}}=\frac1{\sqrt[3]{x^2}}.

x→0x\to0 时分母 x23\sqrt[3]{x^2} 是趋于 00 的正数,所以割线斜率趋于 +∞+\infty,割线越来越陡,最后贴近 yy 轴。导数要求差商有有限的极限,所以 x3\sqrt[3]x 在 00 处不可导;但几何上它在这里有切线,就是竖直线 x=0x=0。一般地,若在 aa 处割线斜率趋于无穷,切线是竖直线 x=ax=a,法线是水平线 y=f(a)y=f(a)。

④ 微分与近似计算#

所以 xx 在 aa 附近时,

f(x)≈f(a)+f′(a)(x−a).f(x)\approx f(a)+f'(a)(x-a).

记输入的增量 Δx=x−a\Delta x=x-a。函数值实际的增量是 Δy=f(a+Δx)−f(a)\Delta y=f(a+\Delta x)-f(a);沿切线走的增量 dy=f′(a)Δxdy=f'(a)\Delta x 叫微分。Δx\Delta x 很小时,Δy≈dy\Delta y\approx dy,两者的差是 o(Δx)o(\Delta x)。

对自变量本身,规定它的微分就等于它的增量:dx=Δxdx=\Delta x。(y=xy=x 的切线就是它自己,沿切线走和沿曲线走完全一样。)于是在点 aa 处,dy=f′(a) dxdy=f'(a)\,dx。aa 可以是定义域里任意一点,所以通常把它写成变量 xx,微分写成

dy=f′(x) dx.dy=f'(x)\,dx.

导数 dydx\frac{dy}{dx} 也就真的成了“两个微分之比”,这是莱布尼茨记号能像分数一样运算的原因。

一阶微分形式不变性。 如果 y=f(u)y=f(u),而 u=g(x)u=g(x) 又是 xx 的函数。由链式法则,dydx=f′(u)g′(x)\frac{dy}{dx}=f'(u)g'(x),所以 dy=f′(u)g′(x) dxdy=f'(u)g'(x)\,dx;而 g′(x) dxg'(x)\,dx 正是 dudu。于是

dy=f′(u) du.dy=f'(u)\,du.

不管 uu 是自变量还是中间变量,微分的写法都一样。这个看起来平淡的事实,是第二篇“凑微分”积分法的根据。

xyaa + ΔxOΔydyΔxy = f(x)切线 图 12:从 a 走 Δx,曲线升高 Δy,切线升高 dy = f′(a)Δx。Δx 越小,两者的差距相对越小。

例 估算 4.04\sqrt{4.04}。选 f(x)=xf(x)=\sqrt x,在 a=4a=4 附近做一次近似:

  • f(4)=2f(4)=2;
  • f′(x)=12xf'(x)=\frac1{2\sqrt x},所以 f′(4)=14f'(4)=\frac14。

输入增加 0.040.04,输出大约增加 14×0.04=0.01\frac14\times0.04=0.01。所以 4.04≈2.01\sqrt{4.04}\approx2.01。(真实值约 2.009982.00998。)

为什么选 44?因为函数值和导数在 44 处都好算,而且 44 离 4.044.04 很近。

⑤ 牛顿法:用切线找方程的根#

想解方程 f(x)=0f(x)=0。先猜一个 x0x_0,在 x0x_0 处用切线代替曲线,切线与 xx 轴的交点作为新的猜测 x1x_1。切线方程是 y=f(x0)+f′(x0)(x−x0)y=f(x_0)+f'(x_0)(x-x_0),令 y=0y=0,解出 xx:

x1=x0−f(x0)f′(x0).x_1=x_0-\frac{f(x_0)}{f'(x_0)}.

再从 x1x_1 出发重复,一般地:

xn+1=xn−f(xn)f′(xn).x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}.

例 求 2\sqrt2,也就是解 x2−2=0x^2-2=0 的正根。取 f(x)=x2−2f(x)=x^2-2,f′(x)=2xf'(x)=2x,迭代式是

xn+1=xn−xn2−22xn.x_{n+1}=x_n-\frac{x_n^2-2}{2x_n}.

化简:把 xnx_n 写成 2xn22xn\frac{2x_n^2}{2x_n},通分,注意减号要作用在整个 xn2−2x_n^2-2 上:

xn+1=2xn2−(xn2−2)2xn=xn2+22xn=xn2+1xn=12(xn+2xn).x_{n+1}=\frac{2x_n^2-(x_n^2-2)}{2x_n}=\frac{x_n^2+2}{2x_n}=\frac{x_n}{2}+\frac1{x_n}=\frac12\left(x_n+\frac2{x_n}\right).

从 x0=1x_0=1 出发:x1=1.5x_1=1.5,x2=1.416‾x_2=1.41\overline{6},x3=1.4142157x_3=1.4142157,x4=1.41421356237x_4=1.41421356237……真实值是 1.41421356237…1.41421356237\ldots。正确的位数大约每次翻一倍。计算机里求平方根、解方程的很多算法,用的都是这个想法。

为什么这么快? 设方程的根是 rr,f(r)=0f(r)=0,并设 ff 在根附近有连续的二阶导数、f′(r)≠0f'(r)\ne0。

由 f(r)=0f(r)=0,

0=f(xn)+f′(xn)(r−xn)+12f′′(ξn)(r−xn)2.0=f(x_n)+f'(x_n)(r-x_n)+\frac12f''(\xi_n)(r-x_n)^2.

两边除以 f′(xn)f'(x_n),并把 r−xnr-x_n 写成 −(xn−r)-(x_n-r)(平方项里 (r−xn)2=(xn−r)2(r-x_n)^2=(x_n-r)^2):

0=f(xn)f′(xn)−(xn−r)+f′′(ξn)2f′(xn)(xn−r)2.0=\frac{f(x_n)}{f'(x_n)}-(x_n-r)+\frac{f''(\xi_n)}{2f'(x_n)}(x_n-r)^2.

把前两项移到左边:

xn−f(xn)f′(xn)−r=f′′(ξn)2f′(xn)(xn−r)2.x_n-\frac{f(x_n)}{f'(x_n)}-r=\frac{f''(\xi_n)}{2f'(x_n)}(x_n-r)^2.

左边就是 xn+1−rx_{n+1}-r。记误差 en=xn−re_n=x_n-r,得到

en+1=f′′(ξn)2f′(xn) en2.e_{n+1}=\frac{f''(\xi_n)}{2f'(x_n)}\,e_n^2.

右边的系数 f′′(ξn)2f′(xn)\frac{f''(\xi_n)}{2f'(x_n)} 随 nn 变化,要给它一个统一的上界。

先在根附近取一个小区间 I=[r−δ,r+δ]I=[r-\delta,r+\delta]。f′f' 连续且 f′(r)≠0f'(r)\ne0,由保号性,区间取得足够小时,∣f′∣\lvert f'\rvert 在 II 上不会接近 00,有一个正的下界,记作 ∣f′(x)∣≥m>0\lvert f'(x)\rvert\ge m>0(比如可以取 m=∣f′(r)∣2m=\frac{\lvert f'(r)\rvert}{2})。f′′f'' 在闭区间 II 上连续,由最值定理有界,记作 ∣f′′(x)∣≤M\lvert f''(x)\rvert\le M。

只要 xnx_n 在 II 里,ξn\xi_n(在 xnx_n 与 rr 之间)也在 II 里,于是分子 ∣f′′(ξn)∣≤M\lvert f''(\xi_n)\rvert\le M,分母 2∣f′(xn)∣≥2m2\lvert f'(x_n)\rvert\ge2m。分子变大、分母变小,分数只会变大,所以

∣en+1∣≤M2m∣en∣2=C∣en∣2,C=M2m.\lvert e_{n+1}\rvert\le\frac{M}{2m}\lvert e_n\rvert^2=C\lvert e_n\rvert^2,\qquad C=\frac{M}{2m}.

新的误差和旧误差的平方成正比。比如 CC 约为 11,误差是 0.001=10−30.001=10^{-3},下一步大约是 (10−3)2=10−6(10^{-3})^2=10^{-6},再下一步是 10−1210^{-12}:每平方一次,小数点后的 00 的个数翻倍,正确的位数也翻倍。这叫二次收敛。

还要保证迭代不跑出 II。设初值 x0x_0 在 II 里,并且离根足够近,使 C∣e0∣<1C\lvert e_0\rvert<1。那么

∣e1∣≤C∣e0∣2=(C∣e0∣)∣e0∣<∣e0∣,\lvert e_1\rvert\le C\lvert e_0\rvert^2=\left(C\lvert e_0\rvert\right)\lvert e_0\rvert<\lvert e_0\rvert,

x1x_1 比 x0x_0 离根更近,还在 II 里;而且 C∣e1∣<C∣e0∣<1C\lvert e_1\rvert<C\lvert e_0\rvert<1,条件保持。同样的论证一步步往下推,每一个 xnx_n 都在 II 里。

再看误差缩小得多快。记 un=C∣en∣u_n=C\lvert e_n\rvert,不等式两边乘 CC 得 un+1≤un2u_{n+1}\le u_n^2,于是

u1≤u02,u2≤u12≤u04,u3≤u22≤u08,…,un≤u02n.u_1\le u_0^2,\qquad u_2\le u_1^2\le u_0^4,\qquad u_3\le u_2^2\le u_0^8,\qquad\dots,\qquad u_n\le u_0^{2^n}.

u0<1u_0<1,比如 u0=0.1u_0=0.1,那么 u02nu_0^{2^n} 依次是 0.010.01、10−410^{-4}、10−810^{-8}……飞快地趋于 00。换回误差,∣en∣=unC≤1C(C∣e0∣)2n→0\lvert e_n\rvert=\frac{u_n}{C}\le\frac1C\left(C\lvert e_0\rvert\right)^{2^n}\to0。

但这个保证只在根附近成立。从离根很远的地方出发,牛顿法可能失败:

重根时变慢。 (x−r)2=0(x-r)^2=0 的根 rr 叫二重根;一般地,若 f(x)=(x−r)mh(x)f(x)=(x-r)^mh(x),mm 是大于 11 的整数,h(r)≠0h(r)\ne0,就说 rr 是 mm 重根。这时 f′(r)=0f'(r)=0(求导后每一项都还带着因子 x−rx-r),上面 f′(r)≠0f'(r)\ne0 的条件不满足。

以最简单的 f(x)=(x−r)mf(x)=(x-r)^m 为例,f′(x)=m(x−r)m−1f'(x)=m(x-r)^{m-1}。迭代式两边减去 rr:

xn+1−r=(xn−r)−f(xn)f′(xn).x_{n+1}-r=(x_n-r)-\frac{f(x_n)}{f'(x_n)}.

记 en=xn−re_n=x_n-r,则 f(xn)=enmf(x_n)=e_n^m,f′(xn)=menm−1f'(x_n)=me_n^{m-1},所以

en+1=en−enmmenm−1=en−1men=(1−1m)en.e_{n+1}=e_n-\frac{e_n^m}{me_n^{m-1}}=e_n-\frac1me_n=\left(1-\frac1m\right)e_n.

误差每步只乘一个固定的比例 1−1m1-\frac1m,这叫线性收敛。比如二重根 m=2m=2,en+1=12ene_{n+1}=\frac12e_n,误差每步只减半:从 0.10.1 出发,依次是 0.050.05、0.0250.025、0.01250.0125……要十几步才到 10−510^{-5},而二次收敛从 10−310^{-3} 一步就到 10−610^{-6}。一般的 (x−r)mh(x)(x-r)^mh(x) 在根附近情况类似。

可能来回跳。 取 f(x)=x3−2x+2f(x)=x^3-2x+2,f′(x)=3x2−2f'(x)=3x^2-2,从 x0=0x_0=0 出发:

x1=0−2−2=1,x2=1−1−2+23−2=1−1=0.x_1=0-\frac{2}{-2}=1,\qquad x_2=1-\frac{1-2+2}{3-2}=1-1=0.

又回到了 00,以后永远在 00 和 11 之间来回跳。两处的导数都不为 00,公式每一步都能算,迭代却不收敛。

导数接近 00 时跑远。 迭代式里 f′(xn)f'(x_n) 在分母上。如果它很小,切线几乎是水平的,修正量 f(xn)f′(xn)\frac{f(x_n)}{f'(x_n)} 会非常大,新的点被甩到很远的地方。比如解 x2−2=0x^2-2=0,从 x0=0.0001x_0=0.0001 出发:f(x0)≈−2f(x_0)\approx-2,f′(x0)=0.0002f'(x_0)=0.0002,

x1=0.0001−−20.0002=0.0001+10000=10000.0001,x_1=0.0001-\frac{-2}{0.0002}=0.0001+10000=10000.0001,

根在 1.4141.414 附近,第一步却跑到了 1000010000。如果正好 f′(xn)=0f'(x_n)=0,切线是水平的,和 xx 轴根本没有交点,公式里分母为 00,算不下去。

和二分法比较。 “开始之前”选读里的二分法,每步把误差减半,比牛顿法慢得多,但根始终被夹在一个已知的区间里,不会跑丢。实际计算时常把两者结合:保留一个夹住根的区间,牛顿法算出的新点如果落在区间里就采用,否则就退回二分一步。

十、单调性、极值、凹凸与根的个数#

导数告诉我们函数在每一点往哪个方向走、走得多快。把导数的正负整理成一张表,函数的整体形状就清楚了。

两条基本事实#

  1. 导数的正负决定单调性。 在一个区间上,f′(x)>0f'(x)>0,则 ff 单调递增;f′(x)<0f'(x)<0,则单调递减。理由:在区间里任取两点 x1<x2x_1<x_2,由拉格朗日中值定理,f(x2)−f(x1)=f′(ξ)(x2−x1)f(x_2)-f(x_1)=f'(\xi)(x_2-x_1),ξ\xi 在两点之间。x2−x1>0x_2-x_1>0,f′(ξ)>0f'(\xi)>0,乘积为正,所以 f(x2)>f(x1)f(x_2)>f(x_1),这就是递增;f′<0f'<0 时乘积为负,就是递减。还可以说得更细一些:若 f′(x)≥0f'(x)\ge0,且使 f′(x)=0f'(x)=0 的只是一些孤立的点(不连成一段区间),ff 仍然严格递增。比如 x3x^3 在 00 处导数为 00,但它在整条实数轴上严格递增。
  2. 极值点处导数为 00(如果可导)。 这是第五节的费马定理。导数为 00 的点叫驻点。

注意费马定理只说“极值点 ⇒\Rightarrow 导数为 00”,反过来不成立:x3x^3 在 00 处导数为 00,但 x3x^3 一直在递增,00 不是极值点。

例:f(x)=x3−3xf(x)=x^3-3x 的完整分析#

第一步,求一阶导数并找零点:

f′(x)=3x2−3=3(x−1)(x+1).f'(x)=3x^2-3=3(x-1)(x+1).

零点是 −1-1、11,它们把数轴分成三段。为什么先分解因式?因为现在要判断正负,乘积形式最容易看:每个因子的正负一眼可知,乘积的正负就看负因子的个数是奇数还是偶数。

xx (−∞,−1)(-\infty,-1) −1-1 (−1,1)(-1,1) 11 (1,+∞)(1,+\infty)
x+1x+1 −- 00 ++ ++ ++
x−1x-1 −- −- −- 00 ++
f′(x)f'(x) ++ 00 −- 00 ++
f(x)f(x) 递增 ↗\nearrow 极大值 22 递减 ↘\searrow 极小值 −2-2 递增 ↗\nearrow
  • x<−1x<-1:两个因子都负,乘积为正,函数递增;
  • −1<x<1-1<x<1:一负一正,乘积为负,函数递减;
  • x>1x>1:两个因子都正,函数递增。

因此:

  • x=−1x=-1 处,导数从正变负(先上坡后下坡),是极大值点,f(−1)=−1+3=2f(-1)=-1+3=2;
  • x=1x=1 处,导数从负变正,是极小值点,f(1)=1−3=−2f(1)=1-3=-2。

第二步,求二阶导数,看弯曲方向:

f′′(x)=6x.f''(x)=6x.
  • x<0x<0 时,f′′<0f''<0,斜率 f′f' 一路减小,曲线向下弯(像山顶 ⌢\frown);
  • x>0x>0 时,f′′>0f''>0,斜率一路增大,曲线向上弯(像碗 ⌣\smile)。

00 两侧弯曲方向改变,所以点 (0,0)(0,0) 是拐点。

第三步,用同一张表判断方程根的个数。

方程 x3−3x=ax^3-3x=a 的实根,就是水平线 y=ay=a 与曲线 y=x3−3xy=x^3-3x 交点的横坐标。

xy−112−2Oa = 3:1 个交点a = 2:2 个−2 < a < 2:3 个a = −2:2 个极大值 2极小值 −2 图 13:水平线 y = a 上下移动时,与曲线的交点个数在极大值 2 和极小值 −2 处发生变化。

由第一步的符号表,曲线分三段:

  • 在 (−∞,−1](-\infty,-1] 上递增,从 −∞-\infty 升到极大值 22;
  • 在 [−1,1][-1,1] 上递减,从 22 降到极小值 −2-2;
  • 在 [1,+∞)[1,+\infty) 上递增,从 −2-2 升到 +∞+\infty。

每一段单调,所以水平线 y=ay=a 和每一段最多交一次;由介值定理,aa 在这一段的取值范围内就恰好交一次(见下面的 TIP)。逐段数:

  • −2<a<2-2<a<2:aa 在三段的取值范围里都有,每段一个交点,共 33 个不同的实根;
  • a>2a>2:前两段最高只到 22,够不着,只有第三段有交点,11 个实根;a<−2a<-2 同理,只有第一段有交点,11 个实根;
  • a=±2a=\pm2:有 22 个不同的实根,其中一个是重根(水平线恰好和曲线相切)。

以 a=2a=2 为例看“重根”是什么意思。方程是 x3−3x−2=0x^3-3x-2=0。切点 x=−1x=-1 是一个根,由因式定理可以提出 x+1x+1:

x3−3x−2=(x+1)(x2−x−2)=(x+1)(x+1)(x−2)=(x+1)2(x−2).x^3-3x-2=(x+1)(x^2-x-2)=(x+1)(x+1)(x-2)=(x+1)^2(x-2).

因式 x+1x+1 出现了两次,x=−1x=-1 是二重根;另一个根是 x=2x=2。几何上的“相切”,对应代数上的重因式。

这就是“含参数的方程有几个根”的常用做法:把参数单独放到一边,研究另一边函数的单调区间、极值和两端的极限,弄清它能取哪些值、每个值取几次,再看水平线能截几次。

第四步,闭区间上的最值还要比较端点。

在 [−2,2][-2,2] 上,由最值定理,最大值、最小值一定存在。它们只可能出现在端点,或者内部的候选点(驻点、不可导点)。理由:如果最大值在内部某点 cc 取到,那么 cc 附近的函数值都不超过 f(c)f(c),cc 是极大值点;ff 在 cc 可导时,由费马定理 f′(c)=0f'(c)=0,cc 是驻点;不可导时,cc 是不可导点。不在内部,就在端点。最小值同理。

所以只要把这几类点的函数值都算出来比大小。这里多项式处处可导,没有不可导点,候选是端点 −2-2、22,加上内部驻点 −1-1、11:

f(−2)=−8+6=−2,f(−1)=2,f(1)=−2,f(2)=8−6=2.f(-2)=-8+6=-2,\quad f(-1)=2,\quad f(1)=-2,\quad f(2)=8-6=2.

所以最大值 22,最小值 −2-2。

实际问题中的最值#

实际问题常常是在一个开区间上求最大值或最小值,这时没有端点可以比较。一个很有用的结论是:

如果 ff 在一个区间上可导,并且在这个区间里只有一个驻点 x0x_0,而 x0x_0 是极小值点,那么 f(x0)f(x_0) 就是 ff 在整个区间上的最小值。(极大值同理。)

直观地说:从谷底 x0x_0 出发,如果别处还有更低的地方,中间就得先翻过一个山顶,而光滑曲线的山顶处导数为 00,那就是第二个驻点。下面把这句话写严格。

理由:用反证法。假如区间里有一点 x1x_1,f(x1)<f(x0)f(x_1)<f(x_0)。不妨设 x1>x0x_1>x_0(x1<x0x_1<x_0 时对称)。

第一步,在 x0x_0 右边找一个比 f(x0)f(x_0) 高的点。x0x_0 是极小值点,所以 x0x_0 附近(比如 [x0,x0+ε)[x_0,x_0+\varepsilon),ε\varepsilon 取得比 x1−x0x_1-x_0 小)都有 f(x)≥f(x0)f(x)\ge f(x_0)。如果这一小段上全是 f(x)=f(x0)f(x)=f(x_0),ff 在这一段是常数,导数处处为 00,就有无数个驻点,矛盾。所以这一段里有一点 x2x_2,f(x2)>f(x0)f(x_2)>f(x_0),并且 x0<x2<x1x_0<x_2<x_1。

第二步,看 ff 在 [x0,x1][x_0,x_1] 上的最大值。ff 可导,所以连续,由最值定理,最大值存在。它不在左端点:f(x0)<f(x2)f(x_0)<f(x_2)。也不在右端点:f(x1)<f(x0)<f(x2)f(x_1)<f(x_0)<f(x_2)。所以最大值在内部某点 cc 取到,x0<c<x1x_0<c<x_1。

第三步,矛盾。cc 是内部的最大值点,也就是极大值点,由费马定理 f′(c)=0f'(c)=0。c≠x0c\ne x_0,这是第二个驻点,和“只有一个驻点”矛盾。所以 f(x0)f(x_0) 是整个区间上的最小值。

例 用铁皮做一个容积为 VV 的有盖圆柱形罐子。底面半径 rr 取多少时,用料(表面积)最少?

设高为 hh。容积 πr2h=V\pi r^2h=V,所以 h=Vπr2h=\frac{V}{\pi r^2}。表面积是上下两个圆加侧面:

S(r)=2πr2+2πrh=2πr2+2Vr,r>0.S(r)=2\pi r^2+2\pi rh=2\pi r^2+\frac{2V}{r},\qquad r>0.

求导。把 2Vr\frac{2V}{r} 写成 2V⋅r−12V\cdot r^{-1},(r2)′=2r(r^2)'=2r,(r−1)′=−r−2(r^{-1})'=-r^{-2},再通分:

S′(r)=2π⋅2r+2V⋅(−1r2)=4πr−2Vr2=4πr⋅r2−2Vr2=4πr3−2Vr2.S'(r)=2\pi\cdot2r+2V\cdot\left(-\frac1{r^2}\right)=4\pi r-\frac{2V}{r^2}=\frac{4\pi r\cdot r^2-2V}{r^2}=\frac{4\pi r^3-2V}{r^2}.

分母 r2>0r^2>0,所以 S′(r)=0S'(r)=0 只能是分子为 00:4πr3=2V4\pi r^3=2V,r3=V2πr^3=\frac{V}{2\pi},即 r0=V2π3r_0=\sqrt[3]{\frac V{2\pi}}。这是 (0,+∞)(0,+\infty) 上唯一的驻点。

再看导数的正负。分子 4πr3−2V=4π(r3−r03)4\pi r^3-2V=4\pi\left(r^3-r_0^3\right),r3r^3 随 rr 递增:0<r<r00<r<r_0 时 r3<r03r^3<r_0^3,S′<0S'<0;r>r0r>r_0 时 S′>0S'>0。导数由负变正,r0r_0 是极小值点,由上面的结论,也是最小值点。

这时的高:由 r03=V2πr_0^3=\frac{V}{2\pi} 得 V=2πr03V=2\pi r_0^3,代入 h=Vπr2h=\frac{V}{\pi r^2}:

h=Vπr02=2πr03πr02=2r0.h=\frac{V}{\pi r_0^2}=\frac{2\pi r_0^3}{\pi r_0^2}=2r_0.

高等于直径时最省料。(市面上的罐头往往比这更高,因为还要考虑接缝、运输、拿着顺手等等。)

用导数证明不等式#

例如要证明 x≥0x\ge0 时 ex≥1+xe^x\ge1+x。

令 g(x)=ex−1−xg(x)=e^x-1-x,要证 g(x)≥0g(x)\ge0。

g′(x)=ex−1≥0(x≥0),g(0)=0.g'(x)=e^x-1\ge0\quad(x\ge0),\qquad g(0)=0.

gg 在 [0,+∞)[0,+\infty) 上单调不减,又从 00 出发,所以 g(x)≥g(0)=0g(x)\ge g(0)=0。

把“比较两边”变成“看差的正负”,再用导数控制这个差,是很常见的做法。(其实这个不等式对所有实数都成立:x<0x<0 时 g′(x)<0g'(x)<0,gg 在 (−∞,0](-\infty,0] 上递减,降到 x=0x=0 时最小,所以 g(x)≥g(0)=0g(x)\ge g(0)=0。几何上,exe^x 在 00 处的值是 e0=1e^0=1,导数是 e0=1e^0=1,切线是 y=1+1⋅(x−0)=1+xy=1+1\cdot(x-0)=1+x;而 (ex)′′=ex>0(e^x)''=e^x>0,exe^x 向上弯,由上面凸函数的性质,切线永远在它下方。)

描绘函数图像的一般步骤#

把上面的工具合起来,就能画出一个函数的大致图像:

  1. 定义域、奇偶性、周期性(有对称性的只画一半);
  2. 求 f′f',列符号表,得到单调区间和极值;
  3. 求 f′′f'',得到凹凸区间和拐点;
  4. 求渐近线(下一节),看函数在两端和间断点附近往哪里走;
  5. 算几个特殊点(与坐标轴的交点等),连成光滑的曲线。

十一、渐近线与曲率#

① 渐近线#

渐近线是曲线往远处走时无限靠近的直线。分三种:

  • 竖直渐近线:x→ax\to a 的某一侧,函数趋于 +∞+\infty 或 −∞-\infty,就有竖直渐近线 x=ax=a。要找的位置是分母为 00 的点、对数里面趋于 00 的点等。
  • 水平渐近线:x→+∞x\to+\infty 或 x→−∞x\to-\infty 时,f(x)→bf(x)\to b(有限数),就有水平渐近线 y=by=b。
  • 斜渐近线:尝试 y=kx+by=kx+b。先算 k=lim⁡x→+∞f(x)xk=\lim\limits_{x\to+\infty}\dfrac{f(x)}{x},再算 b=lim⁡x→+∞[f(x)−kx]b=\lim\limits_{x\to+\infty}[f(x)-kx];x→−∞x\to-\infty 一侧单独再算一次,两侧的结果可能不同。两个极限都要是有限数,并且 k≠0k\ne0(k=0k=0 就是水平渐近线)。

算出 kk 以后,一定要接着算 bb:kk 存在不代表有斜渐近线。比如 f(x)=x+ln⁡xf(x)=x+\ln x(x>0x>0),f(x)x=1+ln⁡xx→1\frac{f(x)}x=1+\frac{\ln x}x\to1,所以 k=1k=1;但 f(x)−x=ln⁡x→+∞f(x)-x=\ln x\to+\infty,bb 不存在,所以没有斜渐近线。曲线的方向越来越接近 45∘45^\circ,却离任何一条斜率为 11 的直线越来越远。

例 f(x)=x2+1x−1f(x)=\dfrac{x^2+1}{x-1}。

先做多项式除法,把它拆成“多项式 + 分子次数更低的分式”:

x2+1x−1=x+1+2x−1.\frac{x^2+1}{x-1}=x+1+\frac{2}{x-1}.

(通分验证:(x+1)(x−1)+2=x2−1+2=x2+1(x+1)(x-1)+2=x^2-1+2=x^2+1。)

斜渐近线。 移项得 f(x)−(x+1)=2x−1f(x)-(x+1)=\frac2{x-1}。x→+∞x\to+\infty 或 x→−∞x\to-\infty 时分母趋于无穷,2x−1→0\frac2{x-1}\to0,所以 f(x)−(x+1)→0f(x)-(x+1)\to0。按定义,斜渐近线是 y=x+1y=x+1(两侧都是)。用上面的公式算也一样:

k=lim⁡x→∞x2+1x(x−1)=lim⁡x→∞1+1x21−1x=1,b=lim⁡x→∞[x2+1x−1−x]=lim⁡x→∞x+1x−1=1.k=\lim_{x\to\infty}\frac{x^2+1}{x(x-1)}=\lim_{x\to\infty}\frac{1+\frac1{x^2}}{1-\frac1x}=1,\qquad b=\lim_{x\to\infty}\left[\frac{x^2+1}{x-1}-x\right]=\lim_{x\to\infty}\frac{x+1}{x-1}=1.

有理分式先做除法,通常比算两个极限快。

竖直渐近线。 分母为 00 的点是 x=1x=1。x→1+x\to1^+ 时 x−1x-1 是趋于 00 的正数,2x−1→+∞\frac2{x-1}\to+\infty,f(x)→+∞f(x)\to+\infty;x→1−x\to1^- 时 x−1x-1 是趋于 00 的负数,f(x)→−∞f(x)\to-\infty。所以竖直渐近线是 x=1x=1。

xy1Ox = 1y = x + 1y = (x2 + 1)/(x − 1) 图 14:曲线在 x = 1 附近冲向无穷,在远处贴近直线 y = x + 1。

② 曲率:曲线弯得有多厉害#

对光滑的曲线 y=f(x)y=f(x):

κ=∣f′′(x)∣[1+f′(x)2]3/2.\kappa=\frac{\lvert f''(x)\rvert}{\left[1+f'(x)^2\right]^{3/2}}.

若 κ≠0\kappa\ne0,曲率半径 R=1κR=\dfrac1\kappa。κ\kappa 读作 kappa,衡量的是:沿着曲线走一单位长度,方向转了多少。

参数方程的曲率。 曲线由 x=x(t)x=x(t)、y=y(t)y=y(t) 给出时,把第八节的 dydx=y˙x˙\frac{dy}{dx}=\frac{\dot y}{\dot x}、d2ydx2=y¨x˙−y˙x¨x˙3\frac{d^2y}{dx^2}=\frac{\ddot y\dot x-\dot y\ddot x}{\dot x^3} 代入上面的公式。(x˙\dot x、x¨\ddot x 是第八节的牛顿记号:对 tt 的一阶、二阶导数。)代入后是

κ=∣y¨x˙−y˙x¨x˙3∣[1+(y˙x˙)2]3/2.\kappa=\frac{\left\lvert\dfrac{\ddot y\dot x-\dot y\ddot x}{\dot x^3}\right\rvert}{\left[1+\left(\dfrac{\dot y}{\dot x}\right)^2\right]^{3/2}}.

分子:分式的绝对值等于绝对值相除,∣f′′∣=∣x˙y¨−y˙x¨∣∣x˙∣3\lvert f''\rvert=\frac{\lvert\dot x\ddot y-\dot y\ddot x\rvert}{\lvert\dot x\rvert^3}(把 y¨x˙\ddot y\dot x 写成 x˙y¨\dot x\ddot y,只是交换乘法顺序)。

分母:先通分,1+y˙2x˙2=x˙2+y˙2x˙21+\frac{\dot y^2}{\dot x^2}=\frac{\dot x^2+\dot y^2}{\dot x^2},再取 32\frac32 次方。其中 (x˙2)3/2=(x˙2)3=∣x˙∣3(\dot x^2)^{3/2}=\left(\sqrt{\dot x^2}\right)^3=\lvert\dot x\rvert^3,开平方得到的是非负数,所以有绝对值。于是分母是 (x˙2+y˙2)3/2∣x˙∣3\frac{(\dot x^2+\dot y^2)^{3/2}}{\lvert\dot x\rvert^3}。

分子、分母都除以 ∣x˙∣3\lvert\dot x\rvert^3,相除时约掉,得到

κ=∣x˙y¨−y˙x¨∣(x˙2+y˙2)3/2.\kappa=\frac{\lvert\dot x\ddot y-\dot y\ddot x\rvert}{\left(\dot x^2+\dot y^2\right)^{3/2}}.

比如半径为 aa 的圆 x=acos⁡tx=a\cos t,y=asin⁡ty=a\sin t:x˙=−asin⁡t\dot x=-a\sin t,x¨=−acos⁡t\ddot x=-a\cos t,y˙=acos⁡t\dot y=a\cos t,y¨=−asin⁡t\ddot y=-a\sin t。分子 x˙y¨−y˙x¨=a2sin⁡2t+a2cos⁡2t=a2\dot x\ddot y-\dot y\ddot x=a^2\sin^2t+a^2\cos^2t=a^2,分母 (a2)3/2=a3(a^2)^{3/2}=a^3,κ=1a\kappa=\frac1a。正是“圆的曲率等于半径的倒数”。

例 y=x2y=x^2 在 x=0x=0 处:f′=0f'=0,f′′=2f''=2,

κ=2(1+0)3/2=2,R=12.\kappa=\frac{2}{(1+0)^{3/2}}=2,\qquad R=\frac12.

这时切线水平,曲线向上弯,所以曲率圆(在这一点和曲线贴得最紧的圆)的圆心在正上方 RR 处,即 (0,12)\left(0,\frac12\right),半径 12\frac12。

xyOR = 1/2(0, 1/2)y = x2 图 15:在原点附近,半径 1/2 的圆与抛物线贴合得最好:两者有相同的切线和相同的弯曲程度。

一般地,曲率圆的圆心是:

横坐标=x−f′(1+f′2)f′′,纵坐标=f(x)+1+f′2f′′.\text{横坐标}=x-\frac{f'(1+f'^2)}{f''},\qquad\text{纵坐标}=f(x)+\frac{1+f'^2}{f''}.

它是从曲线上的点出发,沿法线向曲线弯曲的那一侧走 RR 得到的。推导分四步。

法线方向。 切线方向是 (1,f′)(1,f'):xx 走 11,yy 走 f′f'。由第九节③,把它逆时针转 90∘90^\circ 得到 (−f′,1)(-f',1),这就是法线方向。

化成长度为 11 的方向。 由勾股定理,(−f′,1)(-f',1) 的长度是 (−f′)2+12=1+f′2\sqrt{(-f')^2+1^2}=\sqrt{1+f'^2}。把两个分量都除以这个长度,得到长度为 11 的方向 11+f′2(−f′,1)\frac{1}{\sqrt{1+f'^2}}(-f',1);再乘 RR,就是沿这个方向走 RR 的位移。

往哪边走。 (−f′,1)(-f',1) 的第二个分量是 1>01>0,指向上方。f′′>0f''>0 时曲线向上弯,圆心在上方,沿 (−f′,1)(-f',1) 走,取 ++ 号;f′′<0f''<0 时圆心在下方,沿反方向走,取 −- 号。也就是说,正负号和 f′′f'' 同号。

化简。 代入 R=(1+f′2)3/2∣f′′∣R=\frac{(1+f'^2)^{3/2}}{\lvert f''\rvert}:

±R1+f′2=±(1+f′2)3/2∣f′′∣ (1+f′2)1/2=±(1+f′2)∣f′′∣=1+f′2f′′.\pm\frac{R}{\sqrt{1+f'^2}}=\pm\frac{(1+f'^2)^{3/2}}{\lvert f''\rvert\,(1+f'^2)^{1/2}}=\frac{\pm(1+f'^2)}{\lvert f''\rvert}=\frac{1+f'^2}{f''}.

最后一步:f′′>0f''>0 时取 ++,+1∣f′′∣=1f′′\frac{+1}{\lvert f''\rvert}=\frac1{f''};f′′<0f''<0 时取 −-,−1∣f′′∣=−1−f′′=1f′′\frac{-1}{\lvert f''\rvert}=\frac{-1}{-f''}=\frac1{f''}。两种情形都一样。所以位移是

1+f′2f′′(−f′,1)=(−f′(1+f′2)f′′, 1+f′2f′′).\frac{1+f'^2}{f''}(-f',1)=\left(-\frac{f'(1+f'^2)}{f''},\ \frac{1+f'^2}{f''}\right).

把它加到点 (x,f(x))(x,f(x)) 上:横坐标 x−f′(1+f′2)f′′x-\frac{f'(1+f'^2)}{f''},纵坐标 f(x)+1+f′2f′′f(x)+\frac{1+f'^2}{f''},就是上面的圆心坐标。f′′=0f''=0 时不能用这个公式:那里曲率为 00,曲线在局部像直线,没有曲率圆。

十二、函数列的极限:什么时候可以交换极限(选读)#

到这里,我们会把一个函数在局部换成直线或多项式来计算。但后面经常会遇到另一种对象:一串函数 f1,f2,f3,…f_1,f_2,f_3,\dots。比如第七节的泰勒多项式,阶数越来越高,就是一串函数;第二篇会对一串函数求积分。这时自然会问:每个 fnf_n 都连续(或者可导),它们的极限还连续(可导)吗?求导、积分能不能和“取极限”交换次序?

这一节用几个具体的例子说明:看起来理所当然的事,可能是错的。这一节是选读,跳过不影响后面的计算;第二篇最后的选读部分会接着这里讲。

① 一串连续函数的极限,可能不连续#

令 fn(x)=xnf_n(x)=x^n,0≤x≤10\le x\le1。

  • 固定 x<1x<1,比如 x=0.9x=0.9:0.9, 0.81, 0.729, …0.9,\ 0.81,\ 0.729,\ \dots,xn→0x^n\to0。
  • 固定 x=1x=1:1n=11^n=1,永远是 11。

所以对每个 xx 分别取极限,得到

f(x)={0,0≤x<1,1,x=1.f(x)=\begin{cases}0,&0\le x<1,\\1,&x=1.\end{cases}

每个 fnf_n 都连续,极限函数却在 x=1x=1 处跳了一下,不连续:xx 从左边靠近 11 时 f(x)f(x) 一直是 00,左极限是 00,而 f(1)=1f(1)=1。

这正是标题说的“交换极限”出了问题。这里有两个极限,n→∞n\to\infty 和 x→1−x\to1^-,先后顺序不同,结果不同:

lim⁡x→1−[lim⁡n→∞xn]=lim⁡x→1−0=0,lim⁡n→∞[lim⁡x→1−xn]=lim⁡n→∞1=1.\lim_{x\to1^-}\left[\lim_{n\to\infty}x^n\right]=\lim_{x\to1^-}0=0,\qquad\lim_{n\to\infty}\left[\lim_{x\to1^-}x^n\right]=\lim_{n\to\infty}1=1.

“极限函数连续”说的恰好是这两个顺序可以交换。

问题出在哪里?“对每个 xx 分别取极限”(叫逐点收敛)的意思是:

对每个 xx 和每个 ε>0\varepsilon>0,都存在 NN,使 n≥Nn\ge N 时 ∣fn(x)−f(x)∣<ε\lvert f_n(x)-f(x)\rvert<\varepsilon。

这里的 NN 可以依赖于 xx。xx 越接近 11,xnx^n 趋于 00 越慢,需要的 NN 越大。比如要 xn<0.01x^n<0.01(0<x<10<x<1),两边取自然对数,nln⁡x<ln⁡0.01n\ln x<\ln0.01。x<1x<1 时 ln⁡x<0\ln x<0,两边除以负数,不等号反向:

n>ln⁡0.01ln⁡x≈−4.605ln⁡x.n>\frac{\ln0.01}{\ln x}\approx\frac{-4.605}{\ln x}.

x=0.9x=0.9 时 ln⁡0.9≈−0.1054\ln0.9\approx-0.1054,要 n>43.7n>43.7,n≥44n\ge44 就够;x=0.99x=0.99 时 ln⁡0.99≈−0.01005\ln0.99\approx-0.01005,要 n≥459n\ge459;x=0.999x=0.999 时要 n≥4603n\ge4603。x→1−x\to1^- 时 ln⁡x→0\ln x\to0,右边趋于 +∞+\infty。所以不论取多大的 NN,总有足够靠近 11 的 xx 需要更多的项:没有一个 NN 能同时管住所有的 xx。

一致收敛要求的正是这一点:

对每个 ε>0\varepsilon>0,都存在一个 NN,使 n≥Nn\ge N 时,对所有的 xx 都有 ∣fn(x)−f(x)∣<ε\lvert f_n(x)-f(x)\rvert<\varepsilon。

和逐点收敛相比,只是“存在 NN”和“对所有 xx”的顺序换了,意思却大不一样:现在 NN 只能依赖 ε\varepsilon,不能依赖 xx。用图来想:以极限函数的图像为中心,上下各画一条宽 ε\varepsilon 的带子;一致收敛是说,从某个 NN 起,fnf_n 的整条图像都落在这条带子里。

上面的例子不是一致收敛。取带子宽 ε=12\varepsilon=\frac12。在 [0,1)[0,1) 上极限函数是 00,要落在带子里,就要所有 x∈[0,1)x\in[0,1) 都满足 xn<12x^n<\frac12。但对每个 nn,都能找到不满足的点:想让 xn=34x^n=\frac34(比 12\frac12 大),解出 x=(34)1/nx=\left(\frac34\right)^{1/n}。因为 0<34<10<\frac34<1,开 nn 次方后仍在 00 和 11 之间,这个点在 [0,1)[0,1) 里;在这一点 fn(x)=34f_n(x)=\frac34,极限函数是 00,相差 34>12\frac34>\frac12。所以不论 NN 取多大,fNf_N 的图像都有一部分跑出这条带子。

② 一致收敛能保住连续性#

定理 若每个 fnf_n 都连续,且 fnf_n 一致收敛到 ff,则 ff 连续。

比如下面③里的 fn(x)=sin⁡(nx)nf_n(x)=\frac{\sin(nx)}n,每个都连续,并且一致收敛到 00,极限函数 00 当然连续;而 xnx^n 不是一致收敛,定理管不到它,它的极限也确实不连续。

证明:要证 ff 在任一点 aa 处连续,也就是:任给 ε>0\varepsilon>0,要找 δ>0\delta>0,使 ∣x−a∣<δ\lvert x-a\rvert<\delta 时 ∣f(x)−f(a)∣<ε\lvert f(x)-f(a)\rvert<\varepsilon。把要估计的差拆成三段:

∣f(x)−f(a)∣≤∣f(x)−fN(x)∣+∣fN(x)−fN(a)∣+∣fN(a)−f(a)∣.\lvert f(x)-f(a)\rvert\le\lvert f(x)-f_N(x)\rvert+\lvert f_N(x)-f_N(a)\rvert+\lvert f_N(a)-f(a)\rvert.

(中间插进去 fN(x)f_N(x) 和 fN(a)f_N(a),再用三角不等式 ∣A+B+C∣≤∣A∣+∣B∣+∣C∣\lvert A+B+C\rvert\le\lvert A\rvert+\lvert B\rvert+\lvert C\rvert。)

计划是让每一项都小于 ε3\frac\varepsilon3。

  1. 由一致收敛,先选定一个 NN,使对所有位置 tt 都有 ∣fN(t)−f(t)∣<ε3\lvert f_N(t)-f(t)\rvert<\frac\varepsilon3。取 t=xt=x 得第一项小于 ε3\frac\varepsilon3,取 t=at=a 得第三项小于 ε3\frac\varepsilon3。因为对所有位置都成立,不管 xx 在哪里都行。选好以后,NN 就固定不动了。
  2. 这个 fNf_N 是一个固定的连续函数。由它在 aa 处连续,有 δ>0\delta>0,使 ∣x−a∣<δ\lvert x-a\rvert<\delta 时 ∣fN(x)−fN(a)∣<ε3\lvert f_N(x)-f_N(a)\rvert<\frac\varepsilon3。

于是只要 ∣x−a∣<δ\lvert x-a\rvert<\delta,就有 ∣f(x)−f(a)∣<ε3+ε3+ε3=ε\lvert f(x)-f(a)\rvert<\frac\varepsilon3+\frac\varepsilon3+\frac\varepsilon3=\varepsilon。这正是 ff 在 aa 处连续的定义,证毕。

关键在第 1 步:必须先固定同一个 NN,再用 fNf_N 的连续性。如果只是逐点收敛,第一项需要的 NN 会随 xx 变化,就没法先固定一个函数了。

③ 求导更麻烦:一致收敛也不够#

取

fn(x)=sin⁡(nx)n.f_n(x)=\frac{\sin(nx)}n.

因为 ∣sin⁡(nx)∣≤1\lvert\sin(nx)\rvert\le1,所以 ∣fn(x)−0∣≤1n\lvert f_n(x)-0\rvert\le\frac1n。这个界和 xx 无关:任给 ε>0\varepsilon>0,取整数 N>1εN>\frac1\varepsilon,n≥Nn\ge N 时对所有 xx 都有 ∣fn(x)∣≤1n<ε\lvert f_n(x)\rvert\le\frac1n<\varepsilon。所以 fnf_n 在整条实轴上一致收敛到 00。极限函数是 00,导数也是 00。

可是由链式法则,fn′(x)=1n⋅cos⁡(nx)⋅n=cos⁡(nx)f_n'(x)=\frac1n\cdot\cos(nx)\cdot n=\cos(nx),在 x=0x=0 处恒等于 cos⁡0=1\cos0=1。两种顺序放在一起:

lim⁡n→∞fn′(0)=lim⁡n→∞1=1,(lim⁡n→∞fn)′(0)=0′=0.\lim_{n\to\infty}f_n'(0)=\lim_{n\to\infty}1=1,\qquad\left(\lim_{n\to\infty}f_n\right)'(0)=0'=0.

“导数的极限”是 11,“极限的导数”是 00,两者不相等。

直观上:fnf_n 的振幅越来越小,但振动越来越快,图像越来越陡。求导看的是陡不陡,所以小振幅、高频率的振动会被求导放大。

一个可以交换的充分条件: 设每个 fnf_n 在 [a,b][a,b] 上有连续的导数,fn′f_n' 一致收敛到某个函数 gg,并且在某一个点 x0x_0 处 fn(x0)f_n(x_0) 收敛。那么 fnf_n 一致收敛到一个可导的函数 ff,并且 f′=gf'=g。

为什么还要求某一点的函数值收敛?因为导数看不到函数被整体加上的常数:fn(x)=nf_n(x)=n 的导数全是 00,导数当然收敛,函数本身却不收敛。

这也解释了数值计算里的一个现象:用差商 f(x+h)−f(x)h\frac{f(x+h)-f(x)}h 近似导数时,hh 太大,近似本身不准;hh 太小,函数值里微小的舍入误差会被除以 hh 放大。数学上的 h→0h\to0,不等于在有限精度的计算机上把 hh 取得越小越好。

本篇小结#

遇到的问题 首先想到 背后的原理
极限,能直接代入 代入 连续函数的定义
00\frac00,多项式或根式 因式分解、共轭 约去趋于 00 的公共因子
∞∞\frac\infty\infty 提最高次项 最高次项决定无穷远处的大小
振荡 夹逼 无穷小 × 有界量
乘除中的基本小量 等价无穷小 一次近似(切线)
相减、抵消严重 泰勒展开到合适的阶 高次近似 + 误差记账
光滑函数之比 洛必达 柯西中值定理
底数指数都在变 uvu^v 取对数 uv=evln⁡uu^v=e^{v\ln u}
递推数列 单调有界 + 方程求值 实数的完备性
求导 先认最外层 链式法则(变化率相乘)
极值、单调、根的个数 符号表 导数的正负 + 中值定理
存在 ξ\xi 使…… 罗尔 + 辅助函数 中值定理
解方程 f(x)=0f(x)=0 的近似值 牛顿法、二分法 切线近似;完备性

这一篇的内容可以按下面四点串起来:

  1. 存在性:极限、方程的根、最大值,不能只凭写出一个方程就说它存在。它们的存在靠实数的完备性和函数的连续性来保证(“开始之前”)。
  2. 局部近似:导数给出一次近似(切线),泰勒公式给出更高次的近似,等价无穷小只保留比较时用得上的那一项(第四、六、七节)。
  3. 误差:相减时的抵消、复合、无穷多项相加、求导,都会改变误差的大小,计算时要用 o(⋅)o(\cdot) 记账(第七、十二节)。
  4. 从局部到整体:一点的导数只管这一点附近;要说一整段区间上的单调、极值、根的个数,靠中值定理(第五、十节)。下一篇的积分,会把局部和整体的联系变成计算公式。

下一篇讲积分:求导的逆运算,以及“把无数小块加起来”的计算。