微积分小感——2.用导数研究函数
所需的前置知识:
1)函数的概念
2)实数理论
3)极限理论(第0章)
4)导数与微分(第1章)
§1.微分学基本定理
—1.费马引理和费马定理
一点的导数反映了函数在该点的变化情况。前面的一章,我们都是以物理类比和几何直观的方法来加以理解。而下面的费马引理,就是对这一直观感受的严谨证明。
对于函数 f(x) ,若其上一点 x=x0 有 f′(x0)>0 (或 f′(x0)<0 ),则在充分小的邻域 (x0,x0+ϵ) 中的任意点 x=ξ 满足 f(ξ)>f(x0) (或 f(ξ)<f(x0) ),在充分小的邻域 (x0−ϵ,x0) 中的任意点 x=ξ 满足 f(ξ)<f(x0) (或 f(ξ)>f(x0) )。
根据导数的定义:
f′(x0)=limΔx→0f(x0+Δx)−f(x0)Δx>0
取正数 ϵ<f′(x0) ,根据极限的定义, 存在一个正数 δ 使得当 Δx∈(−δ,δ) 时有:
0<f′(x0)−ϵ<f(x0+Δx)−f(x0)Δx<f′(x0)+ϵ
那么当 Δx>0 时, f(x+Δx)>f(x) ;当 Δx<0 时, f(x+Δx)<f(x) 。引理得证。
这说明了,一点导数的符号决定了该点附近函数的增减性。显而易见的推论,若区间(开闭无伤大雅) (a,b) 上任意点 x=x0 都有 f′(x0)>0 (或 <0 ),则该区间上函数 f(x) 单调增(或减)。
由费马引理,很容易推出费马定理:
对于一区间内函数 f(x) ,若区间内点 x=c 使函数取区间内最大或最小值,则 f′(c)=0
不妨讨论最大值的情况(最小值改变符号后同理)。若不然,则当 f′(c)>0 时,在充分小的邻域 (c,c+ϵ) 中有点 x=ξ 使 f(ξ)>f(c) ,当 f′(c)<0 时,在充分小的邻域 (c−ϵ,c) 中有点 x=ξ 使 f(ξ)>f(c) ,均矛盾。故 f′(c)=0 。
费马定理描述了一点为区间内最值点的必要条件,但并不充分(反例如 f(x)=x3 )。
—2.罗尔中值定理
由费马定理就能推出罗尔中值定理。它是拉格朗日中值定理的前置定理,也是其特殊情况。
对于在闭区间 [a,b] 上连续、开区间 (a,b) 上可导的函数 f(x) ,若端点函数值 f(a)=f(b) ,则开区间 (a,b) 内存在点 x=c 使 f′(c)=0 。
由于函数的连续性,函数在闭区间 [a,b] 上显然有最大值 M 和最小值 m 。下面分类讨论:
-
若 M=m ,则函数该区间内为常函数,区间内任意点 x=c 都有 f′(c)=0 。
-
若 M>m ,则开区间 (a,b) 内存在点 x=c 使 f(c)=M (或 m ),根据费马定理, f′(c)=0 。
从物理角度看,此定理相当于:“若一次连续的运动的起点与终点相同,那么运动过程中必有一时间点瞬时速度为零”;从几何角度看,此定理相当于:“若连续的曲线两端点在同一水平线,则曲线上必有一点的切线水平”。
—3.拉格朗日中值定理
这可谓微积分学最著名的定理之一,许多时候“中值定理”直接指代它。
对于在闭区间 [a,b] 上连续、开区间 (a,b) 上可导的函数 f(x) ,开区间 (a,b) 存在点 x=c 使:
f(b)−f(a)b−a=f′(c)
这个定理的证明看起来很难。我们不妨先考虑定理的几何意义:连续的曲线上必有一点的切线与曲线两端点的连线平行。这个几何意义和罗尔定理的几何意义,只相差了一个角度(就是曲线两端点的连线斜度)。我们不妨构造一个函数消除这个斜度(此函数的定义域为闭区间 [a,b] ):
F(x)=f(x)−f(a)−f(b)−f(a)b−a(x−a)
注意到 f(a)+f(b)−f(a)b−a(x−a) 就是曲线两端点的连线的解析式,从原函数 f(x) 减去这部分,相当于使函数曲线的两端点在同一水平面的水平位置,以满足罗尔定理。
于是,我们就可以对函数 F(x) 使用罗尔定理。由于显然 F(x) 在闭区间 [a,b] 上连续、开区间 (a,b) 上可导,且 F(a)=F(b)=0 ,则开区间 (a,b) 存在点 x=c 使:
F′(c)=f′(c)−f(b)−f(a)b−a=0
原定理得证。
从物理角度看,此定理相当于“一次连续的运动过程中必有一时间点的瞬时速度等于全程的平均速度”。
根据拉格朗日中值定理,若我们给自变量 x 一个增量 Δx ,那么函数的增量就有:
Δf(x)=f(x+Δx)−f(x)=f′(ξ)⋅Δx
其中 ξ∈(x,x+Δx) 。我们就得到了函数增量关于自变量增量的准确等式——由上一章微分定义得到的估计函数增量的估计等式:
Δf(x)=f(x)′⋅Δx+ο(Δx)≈f(x)′⋅Δx
可与之对应。由于这,有的地方也称拉格朗日中值定理为“有限增量公式”。
—4.柯西中值定理
这是拉格朗日中值定理的显然推广:
对于在闭区间 [a,b] 上连续、开区间 (a,b) 上可导的两函数 f(x),g(x) ,开区间 (a,b) 内 g′(x)≠0 ,则开区间 (a,b) 存在点 x=c 使:
f(b)−f(a)g(b)−g(a)=f′(c)g′(c)
注意到开区间 (a,b) 内 g′(x)≠0 保证了 g(a)≠g(b) ,即原式有意义。
我们仿照拉格朗日中值定理的证明构造如下函数:
F(x)=f(x)−f(a)−f(b)−f(a)g(b)−g(a)(g(x)−g(a))
显然 F(x) 在闭区间 [a,b] 上连续、开区间 (a,b) 上可导,且 F(a)=F(b)=0 ,则由罗尔定理,开区间 (a,b) 存在点 x=c 使:
F′(c)=f′(c)−f(b)−f(a)g(b)−g(a)g′(c)=0
原定理得证。
与拉格朗日中值定理被称为“中值定理”相对,柯西中值定理被称为“广义中值定理”。从几何角度,柯西中值定理描述了参变量曲线——与拉格朗日中值定理的函数曲线相对——上必有一点的切线与曲线两端点的连线平行。
如上的费马定理和三大中值定理为利用导数研究函数的性质奠定了基础。下面的三节都建立在这些定理的基础上。后面有关积分的章节中,将积分与导数相关联的一些定理,也以以上定理为基础。
§2.导数与函数的增减、极值与凸凹
—1.导数与函数的增减
在上一章结尾的第二道应用题处,我们从物理的角度,类比了导数描述函数变化速度的作用——函数值增加时,导数恒为正。下面我们会运用以上的中值定理数学的研究导数与函数的增减。
我们首先考虑函数保持静止,也就是常函数需要满足的条件:
定理零:对于一个区间上连续可导的函数 f(x) ,函数为常函数当且仅当区间上恒有 f′(x)=0
-
由前推后:显然。
-
由后推前:
取该区间任意一子区间 [a,b] ,根据拉格朗日中值定理,区间 (a,b) 内存在点 x=c :
f(b)−f(a)b−a=f′(c)=0
那么区间内任意的 a,b 都有 f(a)=f(b) ,即原函数为常函数。
从反面看:若有一点导数非零,此点附近的函数值一定不为常数。
下面是函数不严格单调增(减)时的情况:
定理壹:对于一个区间上连续可导的函数 f(x) ,函数不严格单调增(减)当且仅当区间上恒有 f′(x)⩾0 (或 ⩽0 )。
-
由前推后:
对区间内任一点 x ,给予正的增量 Δx>0 ,由于函数的不严格单调增(减)性:
f(x+Δx)−f(x)⩾0(⩽0)
那么导数:
f′(x)=limΔx→0f(x+Δx)−f(x)Δx⩾0(⩽0)
-
由后推前:
取该区间任意一子区间 [a,b] ,根据拉格朗日中值定理,区间 (a,b) 内存在点 x=c :
f(b)−f(a)b−a=f′(c)⩾0(⩽0)
那么区间内任意的 b>a 都有 f(b)⩾f(a) ,即原函数不严格单调增(减)。
也许读者会将以上的不严格不等号改为严格不等号,得出严格单调增(减)函数的情况。但反例是显而易见的:例如 f(x)=x3 在整个实数范围严格单调增,但 f′(x)=3x2 在 x=0 时为 0 。
函数严格单调增(减)时的情况是这样的:
定理贰:对于一个区间上连续可导的函数 f(x) ,函数严格单调增(减)当且仅当区间上恒有 f′(x)⩾0 (或 ⩽0 ),且没有一个子区间上恒有 f′(x)=0 。
-
由前推后:
由定理壹,f(x)⩾0 (或 ⩽0 )。若有一子区间上恒有 f′(x)=0 ,那么由定理零,这一子区间上函数为常函数,矛盾。得证。
-
由后推前:
由定理壹,函数不严格单调增(减),即区间内任意 b>a ,有 f(b)⩾f(a) (或 ⩽0 )。若区间内存在 b>a 且 f(b)=f(a) ,那么区间 [a,b] 上函数为常函数,由定理零这区间上恒有 f′(x)=0 ,矛盾。得证。
实际使用中,定理贰往往简化为“若除有限的零点,都有 f′(x)>0 (或 <0 ),那么函数 f(x) 为严格单调增(减)函数”(其逆命题并不成立,但似乎少有需要使用这伪的逆命题的场景)。
下面运用一下已得的结论:
-
e 的定义函数的单调性
求证 y=(1+1x)x 严格单调增。
由于 lnx 的严格单调增性,只需证函数
u=lny=xlnx+1x=x(ln(x+1)−lnx)
严格单调增即可。对 u 求导:
u′=(ln(x−1)−lnx)+x(1x+1−1x)=ln(x+1)−lnx−1x+1
注意到 lnx 的导数为 1x ,那么由拉格朗日中值定理:
ln(x+1)−ln(x)=1ξ>1x+1(ξ∈(x,x+1))
故 u′>0 ,根据定理贰, u 严格单调增。那么 y 严格单调增。
-
一个三角不等式
求证 sinx+tanx>2x(x∈(0,π2)) 。
这个不等式多半是受 sinx<x<tanx(x∈(0,π2)) 这个不等式的启发。
做两侧的差 f(x)=sinx+tanx−2x ,对其求导:
f′(x)=cosx+1cos2x−2
在区间 (0,π2) 中,恒有 f′(x)>0 ,即 f(x) 为严格单调增函数;又 f(0)=0 ,在区间 (0,π2) 中,恒有 f(x)>0 ,原式得证。
—2.导数与函数的极值
首先引入极值的定义:
对于函数 f(x) ,若有一点 x=x0 使充分小的邻域 (x0−ϵ,x0+ϵ) 内任意其他点 x=ξ 都有 f(x0)>f(ξ) (或 f(x0)>f(ξ) ),就称 x=x0 是函数的极大(极小)值点, f(x0) 称为极大(极小)值。
极大和极小值点统称极值点,极大和极小值统称极值。
要注意的是极值和最值的不同。极值是“点的性质”,描述了一点是它附近的点中最大的或最小的,体现在函数图像上就是函数的“波峰”或“波谷”;最值是“区间的性质”,描述了一个区间内函数的最高点或最低点。函数的极大值有可能小于其极小值,例如函数 f(x)=x+2sinx ,其极大值点 (23π,√3+32π) 的函数值小于极小值点 (103π,−√3+102π) 的函数值。
对 x=x0 的邻域 (x0−ϵ,x0+ϵ) 运用费马定理,就得到了一点为极值点的必要条件—— f′(x0)=0 。但已经说明了, 这并不是充分条件。此时便须考虑点左右的导数的情况:对于极大值,其左侧的函数值应不断增加直到极值点处最大,右侧的函数应从极值点开始不断减小;极小值反之;若此点两侧增减性相同,则此点不是极值点;由上一小节的定理贰列出下表:
左侧导数符号 |
此点导数符号 |
右侧导数符号 |
点的性质 |
+ |
0 |
− |
极大值点 |
− |
0 |
+ |
极小值点 |
+ (或 − ) |
0 |
+ (或 − ) |
非极值点 |
⋯ |
≠0 |
⋯ |
非极值点 |
对于一个实际的函数,如求函数 f(x)=(x+2)2(x−1)3 的极值点,首先求导:
f′(x)=2(x+2)(x−1)3+3(x+2)2(x−1)2=(x+2)(5x+4)(x−1)2
其零点为:
x1=−2,x2=−0.8,x3=x4=1
列出导数零点附近的导数符号表,以及与之对应的函数增减性表:
|
(−∞,−2) |
−2 |
(−2,−0.8) |
−0.8 |
(−0.8,1) |
1 |
(1,+∞) |
导数 |
+ |
0 |
− |
0 |
+ |
0 |
+ |
函数 |
增 |
极大 |
减 |
极小 |
增 |
非极值 |
增 |
那么函数的极值点就是 x1=−2 (极大值点),x2=−0.8 (极小值点)。
使用以上方法的前提条件是导数在点的两侧充分小区间内有确定的符号。对于如下函数(这是一个常见的与导数相关结论的反例或特例):
f(x)=⎧⎨⎩0(x=0)x2sin1x(x≠0)
其导数为( x=0 时利用定义求导数):
f′(x)=⎧⎪
⎪
⎪⎨⎪
⎪
⎪⎩limΔx→0f(0+Δx)−f(0)Δx=limΔx→0Δxsin1Δx=0(x=0)2xsin1x−cos1x(x≠0)
其对于导数的零点 x=0 ,其两侧的导数处在疯狂的震荡之中,并没有确定的符号。函数在这一点并没有取倒极值。而如果对函数稍微改变一点:
f(x)=⎧⎪⎨⎪⎩0(x=0)x2(2+sin1x)(x≠0)
其导数为(如上法炮制):
f′(x)=⎧⎨⎩0(x=0)2xsin1x−cos1x+4x(x≠0)
导数的零点 x=0 两侧的导数依旧没有确定的符号,但显然 x=0 是极值小点,因为函数除这一点之外函数值都是正数。
运用本节的方法,可证另一个关于对数的不等式:
求证 lnx⩽x−1 。
做两侧的差 f(x)=lnx−x−1 ,对其求导:
f′(x)=1x−1
其零点为 x=1 ,左侧区间 (0,1) 中 f′(x)>0 ,右侧区间 (1,+∞) 中 f′(x)<0 ,由此 x=1 为极大值点,也是函数定义域上的最大值点,故 f(x)⩽f(1)=0 ,故 lnx⩽x−1 得证。
附注:
由于当 0<a<1 时 lna<0 ,当 a>1 时 lna>0 ,故将式子两边同时除以 lna 就得到如下的推广:当 0<a<1 时, logax⩾x−1lna ;当 a>1 时, logax⩽x−1lna 。
—3.导数与函数的凸凹
首先引入函数凸凹性的定义:
在一区间上连续的函数 f(x) ,若对区间内任意两点 x1,x2 ,开区间 (x1,x2) 内的任一点 x 都有:
f(x)<x2−xx2−x1f(x1)+x−x1x2−x1f(x2)
就称函数 f(x) 在该区间上是凸函数。若上式取 > ,就称函数 f(x) 在该区间上是凹函数。
不等式右边的式子很容易变形成 f(x2)−f(x1)x2−x1(x−x1)+f(x1) ,也就是点 x=x1 与点 x=x2 连线的方程,或称这两点连成的弦;那么上面的式子的几何意义就很明显了:一段连续曲线上任两点连成的弦都在曲线上方,就称曲线是凸的,在曲线下方就称曲线是凹的。函数的凸凹性是一个“区间的性质”。
根据定义,直线函数 y=kx+b ( k 可为 0 )是不凸不凹的。
凸函数有如下容易验证(套如定义的不等式即可)性质:
(ⅰ) 凸函数与正常数相乘的结果为凸函数,与负常数相乘的结果为凹函数。
(ⅱ) 几个凸函数的和仍是凸函数
由于性质 (ⅰ) 可以方便地将凹函数变为凸函数,下文只详细讨论凸函数的性质,凹函数则因为同理而一笔带过。
从图像上看,凸函数的切线不断“上扬”,切线斜率不断变大,也就是说凸函数的导数增大。下面就证明这:
一区间上函数 f(x) 为凸函数当且仅当该区间上 f′(x) 严格单调增。
-
由前推后:
凸函数的定义式可以变形称如下更加对称的形式(跳了几步):
原式 ⇒(x2−x+x−x1)f(x)<(x2−x)f(x1)+(x−x1)f(x2)⇒f(x)−f(x1)x−x1<f(x2)−f(x)x2−x
其中 x1<x<x2 为区间内任意三点。不等式两边的形式是函数值增量与自变量增量只比,也就是导数定义式中极限内的部分。我们对不等式分别取 x→x1 和 x→x2 的极限(注意严格不等式取极限后只能得到不严格不等式):
limx→x1f(x)−f(x1)x−x1=f′(x1)⩽limx→x1f(x2)−f(x)x2−x=f(x2)−f(x1)x2−x1limx→x2f(x2)−f(x)x2−x=f′(x2)⩾limx→x2f(x)−f(x1)x−x1=f(x2)−f(x1)x2−x1
也就是 f′(x1)⩽f′(x2) ,即导函数不严格单调增。然后证明增性的严格。
如果导数上有两点 ξ1,ξ2 导数值相等,那么导数在区间 [ξ1,ξ2] 上为常数,则函数在区间 [ξ1,ξ2] 上为直线函数(只需将函数与函数数 y=f(ξ1)x 做差之后,运用【§2—1】中的定理零即可证明),与函数的凸性矛盾。故导数严格单调增。
取区间内任意三点 x1<x<x2 ,对函数 f(x) 在区间 [x1,x] 和 [x,x2] 上使用拉格朗日中值定理:
f(x)−f(x1)x−x1=f′(ξ1)f(x2)−f(x)x2−x=f′(ξ2)
由于 x1<ξ1<x<ξ2<x2 ,以及 f′(x) 严格单调增,那么 f′(ξ1)<f′(ξ2) ,即:
f(x)−f(x1)x−x1<f(x2)−f(x)x2−x
即函数 f(x) 为凸函数。
如上定理加上【§2—1】中的定理贰,就得到一般的判断函数凸性的方法:若除有限的零点,都有 f′′(x)>0 ,那么函数 f(x) 为凸函数。同理,一区间上函数 f(x) 为凹函数当且仅当该区间上 f′(x) 严格单调减;一般判断:若除有限的零点,都有 f′′(x)<0 ,那么函数 f(x) 为凹函数。
上一小节,导数正负性变化——也就是函数增减性变化——的点,就称为了极值点;同样的,二阶导数正负性变化——也就是导数增减性变化——也就是函数凸凹性变化——的点,也是具有特殊意义的点——拐点。显然的,函数的拐点,是导数的极值点(无论极大或极小),是二阶导数的零点。我们可以仿照极值点的表格列出如下表格:
左侧二阶导数符号 |
此点二阶导数符号 |
右侧二阶导数符号 |
点的性质 |
+ (或 − ) |
0 |
− (或 + ) |
拐点 |
+ (或 − ) |
0 |
+ (或 − ) |
非拐点 |
⋯ |
≠0 |
⋯ |
非拐点 |
读者在练习上一小节【§2—2】中的求极值点时,可能会发现是导数零点但不是函数极值点的点,都是本节中的拐点。这是容易说明的:若导数在零点两侧符号相同,那么该零点就是极值点(两侧都正就是极小值点,都负就是极大值点),而导数的极值点就是函数的拐点。
一般使用的时候,我们往往先利用导数证明函数的凸(凹)性,再利用定义凸(凹)性的不等式解决问题。例如下面的琴生不等式:
对于区间上的凸函数 f(x) 和区间内 n 个点 x1,x2,⋯,xn ,和 n 个正数 p1,p2,⋯,pn 满足 ∑ni=1pi=1 ,有:
f(n∑i=1pixi)⩽n∑i=1pif(xi)
当 n=2 时,原式即:
f(p1x1+p2x2)⩽p1f(x1)+p2f(x2)(p1+p2=1)
只需记 x=p1x1+p2x2 ,那么:
p1=x2−xx2−x1,p2=x−x1x2−x1
不等式就与凸函数的定义式完全相同,不等式成立。
用归纳法证明普遍的情况:当不等式对 n=k−1 成立时,下证对 n=k 成立:
f(k∑i=1pixi)=f(pkxk+k−1∑i=1pixi)⩽pkf(xk)+(1−pk)f(∑k−1i=1pixi1−pk)=pkf(xk)+(1−pk)f(k−1∑i=1pi1−pkxi)⩽pkf(xk)+(1−pk)(k−1∑i=1pi1−pkf(xi))=k∑i=1pif(xi)
其中第一个不等号运用了 n=2 的情况,第二个不等号运用了 n=k−1 的情况。由此,原命题对 n=k 成立。由归纳法原命题得证。
凹函数时不等号为 ⩾ ,同理可证。不等式当且仅当 x1=x2=⋯=xn 时取等号。
至此,我们基本地研究了函数性质与其导数以及二阶导数的关系。如上的推倒其实并不是绝对严谨的,一些刻意构造的让导数和二阶导数呈现出极为奇特的形态的函数,和一些特殊的导数和二阶导数的零点,不一定符合如上的结论。但是针对大部分连续的、平滑的、可爱的函数,如上的结论是极为有用的利器。
§3.高阶导数的应用
—1.洛必达法则
上面的一节,我们只考虑了一阶和二阶的导数,这一节就会体现高阶导数的应用了。先看被称为“洛必达法则”的定理,它是处理 00 型不定式的法则:
洛必达法则(有限):对于在邻域(可不含 a) (a−ϵ,a+ϵ) 上可导的函数 f(x),g(x) ,若 limx→af(x)=0 , limx→ag(x)=0 ,则极限:
limx→af(x)g(x)=limx→af′(x)g′(x)
其中 g(x)≠0,g′(x)≠0 ,等号两侧的极限应存在。
若邻域含 a ,根据条件显然有 f(a)=g(a)=0 。若邻域不含 a ,作为补救,构造函数:
F(x)={0(x=a)f(x)(x≠a)G(x)={0(x=a)g(x)(x≠a)
由关于 f(x),g(x) 的两个极限,可知扩展定义后函数连续可导,将下面证明中的 f(x),g(x) 换成 F(x),G(x) 即可(这样的通过极限的条件,依托一个不连续函数构造连续函数,以方便证明和解题的做法十分常见)。
看到两个函数之比与导数之比的关系,自然而然想到柯西中值定理。对于满足条件的两函数 f(x),g(x) , a 与 x 之间的开区间内存在点 x=c 使:
f(x)g(x)=f(x)−f(a)g(x)−g(a)=f′(c)g′(c)
当 x→a 时,显然 c→a ,那么:
limx→af(x)g(x)=limc→af′(c)g′(c)=limx→af′(x)g′(x)
定理得证。
初看这个定理,也许不太能理解其正确性。我们尝试考虑简单的版本。令 g(x)=x−a ,证明中的柯西中值定理就退化为拉格朗日中值定理,洛必达法则就变成:
limx→af(x)x−a=limx→af′(x)1=f′(a)
由条件里的 f(a)=0 ,并令 x=a+Δx ,这个式子就变成:
limΔx→0f(a+Δx)−f(a)Δx=f′(a)
这不就是 x=a 时的导数定义式吗?于是我们就明了了洛必达法则的意义——它是导数定义式的推广。
利用换元将洛必达法则扩展到极限中 x→±∞ 的情况:
洛必达法则(无限):对于 x 充分大时可导的函数 f(x),g(x) ,若 limx→∞f(x)=0 , limx→∞g(x)=0 ,则极限:
limx→∞f(x)g(x)=limx→∞f′(x)g′(x)
其中 g(x)≠0,g′(x)≠0 ,等号两侧的极限应存在。
令 t=1x ,那么 x→∞ 时 t→0 , limt→0f(1t)=0 , limt→0g(1t)=0 。套用洛必达法则(有限):
limx→∞f(x)g(x)=limt→0f(1t)g(1t)=limt→0f′(1t)⋅(−1t2)g′(1t)⋅(−1t2)=limt→0f′(1t)g′(1t)=limx→∞f′(x)g′(x)
定理得证。于是我们可以对任意自变量趋向的极限使用洛必达法则了。
其他类型的不定式经过简单变化,就可以使用洛必达法则:对于 ∞∞ 型不定式,可化作 1/∞1/∞ ;对于 0⋅∞ 型不定式,可化作 01/∞ 或 ∞1/0 ;对于 ∞−∞ 型不定式,可化作 1/∞−1/∞1/(∞⋅∞) 。下面是例题:
(1) limx→0tanx−xx−sinx(2) limx→+∞xμax(μ>0,a>1)(3) limx→+∞xμlnx(μ<0)(4) limx→0(1x−1sinx)
(1) limx→0tanx−xx−sinx=limx→01cos2x−11−cosx=limx→01cos2x⋅1−cos2x1−cosx=limx→01+cosxcos2x=2(2) limx→+∞xμax=limx→+∞μxμ−1lna⋅ax=⋯=limx→+∞K⋅xμ−nax=0(n次求导后,0<μ−n<1,K为常数)(3) limx→+∞xμlnx=limx→+∞lnxx−μ=limx→+∞1x−μx−μ−1=limx→+∞xμ−μ=0(4) limx→0(1x−1sinx)=limx→0sinx−xxsinx=limx→0cos−1sinx+xcosx=limx→0−sinx2cosx−xsinx=0
有的时候,使用洛必达法则会陷入死循环:
limx→+∞x√x2+1=limx→+∞1x√x2+1=limx→+∞√x2+1x=limx→+∞x√x2+11=limx→+∞x√x2+1
而其极限显然是 1 。有的时候尝试使用洛必达法则会没有极限:
limx→+∞cosx+xx=limx→+∞sinx=DNE
而其极限显然是 1 。
洛必达法则可以不断的将函数之比的极限换成其导数之比的极限,可以说隐性地使用了高阶导数。使用洛必达法则的一般效果,是降低分子或分母的次数(一般对于多项式),或使不定式变为极限确定的式子(比如 x→0 时将 sin 变为 cos ),其根本目的是通过求导使求极限的式子变容易。
—2.泰勒公式
泰勒公式,可谓是以一种极暴力的方式,使用含高阶导数的多项式逼近原函数的公式:
f(x)=n∑k=0f(k)(x0)k!(x−x0)k−f(n+1)(ξ)(n+1)!(x−x0)n+1
这看起来很复杂。为便于理解,我们来还原一下推导泰勒公式的过程。泰勒公式的核心目的是用多项式逼近原函数。有许多其他公式也是为了这个目的,比如拉格朗日插值公式,它是利用一个函数多个点的函数值构造多项式逼近原函数的。泰勒公式的特点是利用到函数某一点的各阶导数值进行逼近。
如果依托点 x=x0 构造多项式,容易想到按 (x−x0) 的幂次构造多项式(这个操作一般称为 “对点 x=x0 泰勒展开”,或简称“展开”),这样可以消除 x0 的变动对系数形式的影响(你可以尝试对非 x=0 的点按 x 的幂次展开,随着次数的增高这绝对是一个噩梦)。我们记这个 n 次多项式为:
Pn(x)=n∑k=0Ak(x−x0)k
它的各阶导数为:
P(m)n(x)=⎧⎪
⎪
⎪
⎪⎨⎪
⎪
⎪
⎪⎩n∑k=mk!⋅Ak(k−m)!(x−x0)k−m(1⩽m⩽n)0(m>n)
根据点 x=x0 列出方程:
f(k)(x0)=P(k)n(x0)=k!⋅Ak(0⩽k⩽n)
于是 Ak=f(k)(x0)/k! ,多项式就是:
Pn(x)=n∑k=0f(k)(x0)k!(x−x0)k
下面来计算多项式的误差。记误差为:
Rn(x)=f(x)−Pn(x)
其导数为:
R(m)n(x)=⎧⎪
⎪⎨⎪
⎪⎩f(m)(x)−P(m)n(x)(1⩽m⩽n)f(m)(x)(m>n)
根据 Pn(x) 的定义,显然 R(k)n(x0)=0 (0⩽k⩽n) ,而且 x→x0 时, Rn(x)→0 。为了使误差在合理的范围内,我们希望 Rn(x)=ο((x−x0)n) ,也就是误差是最后一项的高阶无穷小。于是把 Rn(x) 与同属于 ο((x−x0)n) 的 (x−x0)n+1 作比较:
Rn(x)(x−x0)n+1=Rn(x)−Rn(x0)(x−x0)n+1−(x0−x0)n+1=R′n(ξ1)(n+1)(ξ1−x0)n=R′n(ξ1)−R′n(x0)n(ξ1−x0)n−n(x0−x0)n=R′′n(ξ1)(n+1)n(ξ1−x0)n−1=⋯=R(n+1)n(ξn)(n+1)!=f(n+1)(ξn)(n+1)!
以上推导运用了柯西中值定理。我们最终发现:
Rn(x)=f(n+1)(ξn)(n+1)!(x−x0)n+1
Rn(x) 与 (x−x0)n+1 之比为常数,两者是同阶无穷小,也就是说 Rn(x)=ο((x−x0)n) 。
由此,我们就得到了泰勒公式:
f(x)=Pn(x)−Rn(x)=n∑k=0f(k)(x0)k!(x−x0)k−f(n+1)(ξn)(n+1)!(x−x0)n+1
当 n→∞ 时若有 Rn(x)→0 ,我们就可以把泰勒公式写成:
f(x)=∞∑k=0f(k)(x0)k!(x−x0)k
最常用的在零点展开的泰勒公式也被叫做麦克劳林公式:
f(x)=n∑k=0f(k)(0)k!xk−f(n+1)(ξ)(n+1)!xn+1
一些常用的(较为美观的)麦克劳林公式展开如下:
ex=n∑k=0xkk!−eξ⋅xn+1(n+1)!=∞∑k=0xkk!sinx=n∑k=0(−1)kx2k+1(2k+1)!−(−1)ncosξ⋅x2n+3(2n+3)!=∞∑k=0(−1)kx2k+1(2k+1)!cosx=n∑k=0(−1)kx2k(2k)!−(−1)ncosξ⋅x2n+2(2n+2)!=∞∑k=0(−1)kx2k(2k)!ln(1+x)=n∑k=1(−1)k−1xkk−(−1)n(1+ξ)n⋅xn+1n+1=∞∑k=1(−1)k−1xkk11−x=n∑k=0xk−xn+11−ξ=∞∑k=0xk(|x|<1)
来看一道利用泰勒公式求解极限例题:
limx→0tan(tanx)−sin(sinx)tanx−sinx
这是一个 00 型不定式。使用洛必达法则求解绝对会令人怀疑人生。我们将 tanx 与 sinx 用麦克劳林公式展开到合适的阶数(余项用高阶无穷小表示):
tanx=x+x33+ο(x3)sinx=x−x36+ο(x3)
那么:
tan(tanx)=tanx+tan3x3+ο(tan3x)=(x+x33+ο(x3))+13(x+x33+ο(x3))3=x+2x33+ο(x3)sin(sinx)=sinx−sin3x6+ο(sin3x)=(x−x36+ο(x3))−16(x−x36+ο(x3))3+ο(x3)=x−x33+ο(x3)tanx−sinx=(x+x33+ο(x3))−(x−x36+ο(x3))=x32+ο(x3)
所以原极限为:
limx→0tan(tanx)−sin(sinx)tanx−sinx=limx→0(x+2x33+ο(x3))−(x−x33+ο(x3))x32+ο(x3)=limx→0x3+ο(x3)x32+ο(x3)=12
泰勒公式用最方便研究的函数——多项式——逼近了原函数,并且多项式的各阶导数也是对原函数对应阶导数的近似。在实际应用中(如工程或计算机),许多不需要精确值的地方都会用到泰勒公式进行逼近。泰勒公式永远是极限中最后的暴力手段——只要阶数足够高,总能作出结果。
§4.用导数研究函数的应用
—1. 欧拉复数公式
eiπ+1=0 ,这个被誉为“最美的公式”的经典公式大家一定有所耳闻。而它是怎么推导出来的呢?
首先我们注意到,虚数 i=√−1 出现在了指数上,而我们只会处理指数为实数的情况。这该如何?注意到泰勒公式:
ex=∞∑k=0xkk!
它把指数变为了底数。我们把 x=iθ ( θ 为实数变量)带入,就得到:
eiθ=∞∑k=0(iθ)kk!
这其实就是虚数指数的定义。我们首先利用 i2=−1 将上式化简:
eiθ=∞∑k=0(iθ)kk!=∞∑p=0(iθ)2p(2p)!+∞∑q=0(iθ)2q+1(2q+1)!=∞∑p=0(−1)pθ2p(2p)!+i∞∑q=0(−1)qθ2q+1(2q+1)!
注意到泰勒公式:
sinx=∞∑k=0(−1)kx2k+1(2k+1)!cosx=∞∑k=0(−1)kx2k(2k)!
于是:
eiθ=∞∑p=0(−1)pθ2p(2p)!+i∞∑q=0(−1)qθ2q+1(2q+1)!=cosθ+isinθ
带入 θ=π 我们就得到了 eiπ+1=0 。
附注:
数学家们往 e 的指数上放过许多稀奇古怪的东西(例如方矩阵),而通常这指数是通过泰勒公式定义的。对于一个定义了加法运算、幂运算、数乘运算的数学对象 A ,一般有如下定义:
eA=∞∑k=0Akk!
—2.推广的均值不等式
对于 n 个正数 a1,a2,⋯,an ,和 p1,p2,⋯,pn 满足 ∑ni=1pi=1 ,有:
n∏i=1apii⩽n∑i=1piai
首先是极值+归纳法的证明:
首先考察 n=2 的情况:对正数 a,b,α,β , α+β==1 ,则 aαbβ⩽αa+βb 。我们令 x=ab ,那么原不等式就相当于:
aαbβ⩽αa+βbaαb1−β⩽αab+βaαbα−αab⩽1−αxα−αx⩽1−α
即求证函数 f(x)=xα−αx⩽1−α (不妨将 α 看作 (0,1) 中的一个常数)。求导:
f′(x)=αxα−1−α=α(xα−1−1)
其零点为 x=1 ,左侧区间 (0,1) 中 f′(x)>0 ,右侧区间 (1,+∞) 中 f′(x)<0 ,由此 x=1 为极大值点,也是函数定义域上的最大值点,由此 f(x)⩽f(1)=1−α 。得证。
由此 n=2 的情况得到了证明。使用归纳法证明 n=k 时的情况。若原命题对 n=k−1 时成立,下证其对 n=k 成立:
k∏i=1apii=apkk⋅k−1∏i=1apii=apkk⋅(k−1∏i=1api1−pki)1−pk⩽pkak+(1−pk)⋅k−1∏i=1api1−pki
注意到 ∑k−1i=1pi1−pk=1 ,根据归纳假设:
k−1∏i=1api1−pki⩽k−1∑i=1pi1−pkai
那么:
k∏i=1apii⩽pkak+(1−pk)⋅k−1∏i=1api1−pki⩽pkak+(1−pk)⋅k−1∑i=1pi1−pkai=k∑i=1piai
原命题对 n=k 成立。由归纳法原命题得证。
更简单的证明运用琴生不等式:
根据函数 lnx 在 (0,+∞) 上的凹性(求导后显然),对于 n 个正数 a1,a2,⋯,an ,和 p1,p2,⋯,pn 满足 ∑ni=1pi=1 ,根据琴生不等式有:
ln(n∑i=1piai)⩾n∑i=1pilnai
两边取 e 的指数,就得到:
n∑i=1piai⩾n∏i=1apii
原命题得证。
之所以称之为“推广的均值不等式”,是因为当 p1=p2=⋯=pn=1n 时,就得到了 n 元的“几何均值不大于代数均值”的均值不等式:
∑ni=1ain⩾n
⎷n∏i=1ai
—3.光的折射定律
对于相对折射率为 k 的两介质,入射角 θ 和折射角 ϕ 总满足:
sinθsinϕ=k
我们从“光走最短路”入手,加以分析。

以折射点 O 为原点建系(界面为 x 轴,法线为 y 轴),分别取入、反射光线上的点 A(1,cotθ) 、 B(−1,−cotϕ) 。(动态演示文件见 §4-3.ggb )由于光走最短路,那么路径 ¯¯¯¯¯¯¯¯¯¯¯¯AOB 一定是最短路。我们另取 x 轴上一点 O′(x,0) (不妨 −1⩽x⩽1 ),计算出路径 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯AO′B 的长度 L(x) (相对折射率可视作路径的权重):
L(x)=¯¯¯¯¯¯¯¯¯¯O′A+k⋅¯¯¯¯¯¯¯¯¯¯O′B=√(1−x)2+cot2θ+k⋅√(1+x)2+cot2ϕ
由于要求路径长的最小值,对其求导:
L′(x)=x−1√(1−x)2+cot2θ+k⋅x+1√(1+x)2+cot2ϕ
由于当 O′ 与 O 重合,即 x=0 时, L(x) 取到最小值,此时的最小值同时是极小值,那么此时 L′(x)=0 。也就是说:
L′(0)=−1√1+cot2θ+k√1+cot2ϕ=0
也就是:
1√1+cot2θ=k√1+cot2ϕ
注意到 1+cot2x=csc2x ,该式即为:
sinθsinϕ=k
附注:
如上的转化让我们意识到光的折射实则是”求两定点(入、反射光线经过的点)到定直线(界面)上一动点(折射点)的带权距离和(光走过的路径长)的最小值点“问题。为了使式子的形式更加对称,规定法线两侧的角度符号相反,并令 k=uv ,那么光的折射定律就可以写成:
vsinθ+usinϕ=0
这式子就可以推广到多个点的情况。若对于 n 个点 A1,A2,⋯,An 到定直线 l 上一动点 P 的距离,分别给定权重 w1,w2,⋯,wn ,当 P 使得带权距离和:
L(x)=n∑i=1wi⋅¯¯¯¯¯¯¯¯¯¯PAi
最小时,射线 PA1,PA2,⋯,PAn 与定直线 l 过 P 的垂线(即光的折射中的法线)的夹角 θ1,θ2,⋯,θn 应满足:
n∑i=1wisinθi=0
—4.画函数图像
画出如下函数的图像:
y=(x+1)(x+2)(x−1)(x−2)
比较初级的画函数图像的方法,如”描点法“,对付一、二次函数,反比例函数,简单三角函数这种图像简单规律的函数倒还堪用,面对这个情况便无用武之地了。
我们不妨利用第二节的研究成果,借函数、导数、二阶导数的特殊值点和符号画函数图形。
先考虑函数的特殊点(零点、无穷点)的函数值,以及在这些点之间函数符号的变化,列出下表:
x |
−∞ |
|
−2 |
|
−1 |
|
0 |
|
1 |
|
2 |
|
+∞ |
y |
1 |
+ |
0 |
− |
0 |
+ |
1 |
+ |
±∞ |
− |
±∞ |
+ |
1 |
由表,得到 limx→±∞y=1 ,也就是函数的两端趋近直线 y=1 ;limx→1,x→2y=±∞ ,也就是函数在这一点附近趋近直线 x=1,x=2 。如下图一。
然后考虑导数(求导练习哟)
y′=−6(x2−2)(x−1)2(x−2)2
的特殊点以及符号,列出下表:
x |
−∞ |
|
−√2 |
|
1 |
|
√2 |
|
2 |
|
+∞ |
y′ |
0 |
− |
0 |
+ |
±∞ |
+ |
0 |
− |
±∞ |
− |
0 |
y |
水平 |
减 |
极小 |
增 |
竖直 |
增 |
极大 |
减 |
竖直 |
减 |
水平 |
由表,得到 limx→±∞y′=0 ,也就是函数的两端趋于水平;limx→1,x→2y′=±∞ ,也就是函数在这一点附近趋于垂直;并且函数有极小值点 (−√2,−17+12√2) ,极大值点 (√2,−17−12√2) (这个点在第Ⅳ象限很下面的地方,图中用折线表示略去的中间部分)。如下图二。
最后考虑二阶导数
y′′=12(x2−6x+6)(x−1)3(x−2)3
的特殊点以及符号,列出下表:
x |
−∞ |
|
−3√2−3√4 |
|
1 |
|
2 |
|
+∞ |
y′′ |
0 |
− |
0 |
+ |
±∞ |
− |
±∞ |
+ |
0 |
y |
|
凹 |
拐点 |
凸 |
|
凹 |
|
凸 |
|
将图二加上凸凹性的细节(图中拐点的位置较为失真),就可以画出大致的函数图象(图三)了。


与电脑绘制的图四(极大值点处的图像有拼接)相比,我们的图中函数值没有那么精确,但是函数凹凸性和各关键点的表达更为清晰。这就是性质作图跟描点作图的区别,数学研究中性质作图往往更有用。
这一章的内容就是这么多。关于微分学的内容在本章就结束了。从代数角度看,微分学就是“用函数变化率研究函数性质”;从几何角度看,微分学就是“用切线研究曲线性质”。后面的章节,我们将认识微积分学的另一半——积分学,它与微分学精彩绝伦的完美的对称互补绝对令你拍案叫绝。若说微分学时顺流而下一泻千里秋毫毕现,那么积分学就是溯流而上重上九天万象荟萃!
Square−Circle:2021.7.15∼2021.8.16
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战