高等数学(三)导数与微分2
四、微分中值定理与导数应用
4.1 微分中值定理
4.1.1 费马定理
费马定理:设函数\(f(x)\)在点\(x_0\)的某领域\(U(x_0)\)内有定义,并且在\(x_0\)处可导,\(f(x_0)\)是\(f(x)\)的一个极值,则\(f'(x_0)=0\)。
定理的内容简直像废话一般。但是证明利用了极限的保号性,如果\(x_0\)是最大值的话,\(x_0\)点的左导数用定义写出来\(f'_-(x_0)=\lim\limits_{x\to x_0}\frac{f(x)-f(x_0)}{x-x0}\),分子分母都大于零,由保号性,极限大于等于零,同理右导数小于等于零,所以导数只能为零。
4.1.2 罗尔定理
罗尔定理:设\(f(x)\)在闭区间\([a,b]\)上连续,在开区间\((a,b)\)内可导,且\(f(a)=f(b)\),则至少存在一点\(\xi\in(a,b)\),使\(f'(\xi)=0\)。
直观理解就是函数值相同的两个点,之间不论怎么画曲线,总有导数为零的点。证明的话用了闭区间连续函数的最值定理,两个点之间总有最大值\(M\)和最小值\(m\),如果\(M=m\),那就是直线了,否则\(M\)或\(m\)总有一个是极值点,满足费马定理。
4.1.3 拉格朗日中值定理
拉格朗日中值定理:设\(f(x)\)在闭区间\([a,b]\)上连续,在开区间\((a,b)\)内可导,则至少存在一点\(\xi\in(a,b)\),使\(f(b)-f(a)=f'(\xi)(b-a)\)。
其实直观理解是最容易的了,把右边的\(b-a\)移到左边,左边就是首尾连线的斜率\(\frac{f(b)-f(a)}{b-a}\),区间内总有一点的斜率等于首尾连线的斜率,看图一下就懂了。具体证明的话就构造函数\(F(x)=f(x)-\frac{f(b)-f(a)}{b-a}x\),利用罗尔定理证明。
4.1.4 柯西中值定理
柯西中值定理:设\(f(x)\)、\(g(x)\)在闭区间\([a,b]\)上连续,在开区间\((a,b)\)内可导,且对任一\(x\in(a,b)\),\(g'(x)\ne 0\),则至少存在一点\(\xi\in(a,b)\),使\(\frac{f(b)-f(a)}{g(b)-g(a)}=\frac{f'(\xi)}{g'(\xi)}\)。
常规证明的话还是构造函数,利用罗尔定理来证明。下面给出一种从图像来理解和证明的方法:
首先如果\(f(x)\)和\(g(x)\)的两个端点函数值相等(或函数值之差相等),那么区间内必有一点导数相等。这可以构造函数\(F(x)=f(x)-g(x)\)来证明。把这个结论暂且叫做引论。
那如何把互不相干的两个函数化成上述端点值相等的情况呢?可以想到,将\(g(x)\)除以自己两端点函数值之差,再乘以\(f(x)\)两端点函数值之差,再上下移动,那么变化后的函数\(\frac{f(b)-f(a)}{g(b)-g(a)}g(x)+C\),就和\(f(x)\)的两端点是重合的,满足上面的引论。(加不加\(C\)其实并不重要,只是两端点重合看图比较直观)
如下图橙色的函数\(g(x)\)通过乘以\(\frac{f(b)-f(a)}{g(b)-g(a)}\)和上下平移变为灰色的函数,两端点重合,那么由引论就存在一点\(\xi\),使得\(\frac{f(b)-f(a)}{g(b)-g(a)}g'(\xi)=f'(\xi)\),柯西中值定理得证。
从图像来看似乎不满足【对任一\(x\in(a,b)\),\(g'(x)\ne 0\)】这一条件,事实上,有的教材的条件是【\(f'(x)\)和\(g'(x)\)不同时为零,\(g(a)\ne g(b)\)】。显然后者才更精确,而前者涵盖了后者的条件。
4.2 泰勒公式
说白了泰勒公式就是对任意函数在某一点附近的多项式拟合。比如\(f(x)=e^x\),要在\(x=0\)这一点充分拟合:
- 首先函数值得相等,得到\(p(x)=1\),现在\(p(x)\)是一条水平直线,和\(f(x)\)差别还很大。
- 然后要让拟合的函数在这一点的增长趋势和\(f(x)\)一样,也就是让这一点的导数相等,得到\(p(x)=1+x\),现在函数仍是一条直线,只是趋势对了,但形状还有很大差别。
- 接着再让\(p(x)\)和\(f(x)\)的二阶导数相等,那么在这一点的弯曲程度就一样了,得到\(p(x)=1+x+\frac{x^2}{2}\)。
- 这样不断拟合每一阶导数,\(p(x)\)就和\(f(x)\)的形状越来越近。
最后所得到的\(p(x)\)就是\(f(x)\)在\(x=0\)点的近似多项式表达,如果用画图工具去画这两个函数,它们在\(x=0\)附近几乎是完全重合的。而以上过程就是泰勒公式的由来,泰勒公式虽然看起来复杂,但其本质就是多项式函数\(p(x)\)的每一阶导数都和\(f(x)\)相同,从而实现精确的拟合。
4.2.1 带佩亚诺余项的泰勒公式
带Peano余项的泰勒公式:设函数\(f(x)\)在\(x_0\)处具有\(n\)阶导数,那么存在\(x_0\)的一个邻域,对邻域内任意一点\(x\)有 \[ \begin{align} 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((x-x_0)^n) \end{align} \] 记前面的多项式部分为\(p_n(x)\),余项\(R_n(x)=o((x-x_0)^n)\),称为Peano余项。
多项式部分为什么是这样的前面已经解释清楚了,现在的问题是余项为什么是\((x-x_0)^n\)的高阶无穷小。其实也不难理解,因为前\(n\)阶的无穷小已经被多项式部分表示了,如果还存在\(n\)阶的无穷小,那么它也应当被写进多项式,因此不存在\(n\)阶的无穷小,所以剩下的都是比\(n\)阶还高阶的无穷小了。
关于Peano余项的证明我还是想提一下,这里面涉及了很多细节。要证明\(R_n(x)\)是\((x-x_0)^n\)的高阶无穷小,即证 \[ \lim\limits_{x\to x_0}\frac{R_n(x)}{(x-x_0)^n}=0 \] 教材上的证明如下: \[ \begin{align} \lim\limits_{x\to x_0}\frac{R_n(x)}{(x-x_0)^n}&=\lim\limits_{x\to x_0}\frac{f(x)-p_n(x)}{(x-x_0)^n}\\ &\overset{\text{n-1次洛必达}}{=\!=\!=\!=\!=}\lim\limits_{x\to x_0}\frac{f^{(n-1)}(x)-[f^{(n-1)}(x_0)+f^{(n)}(x_0)(x-x_0)]}{n!(x-x_0)}\\ &=\frac{1}{n!}\lim\limits_{x\to x_0}[\frac{f^{(n-1)}(x)-f^{(n-1)}(x_0)}{x-x_0}-f^{(n)}(x_0)]\\ &\overset{\text{导数定义}}{=\!=\!=\!=}0 \end{align} \] 令我非常疑惑的是为什么不直接用\(n\)次洛必达,却要用\(n-1\)次,最后再用一次导数的定义。后来我终于想明白了,定理的条件是【\(f(x)\)在\(x_0\)处具有\(n\)阶导数】,并没有说在\(x_0\)的邻域内是\(n\)阶可导的,只能由这个条件推出在\(x_0\)的邻域内是\(n-1\)阶可导的,因为由\(x_0\)点的\(n\)阶导数定义 \[ f^{(n)}(x_0)=\lim\limits_{x\to x_0}\frac{f^{(n-1)}(x)-f^{(n-1)}(x_0)}{x-x_0} \] 函数在邻域的\(n-1\)阶导数是存在的。所以\(n-1\)次洛必达后就不能再洛必达了,因为分子的第一项\(f^{(n-1)}(x)\)的导数不知道是否存在,所以只能用导数的定义来求。
4.2.2 带拉格朗日余项的泰勒公式
带Peano余项的泰勒公式只给出了余项是\((x-x_0)^n\)的高阶无穷小,但它不能估算具体误差的大小,下面的拉格朗日余项就是解决这个问题的。
带拉格朗日余项的泰勒公式:设函数\(f(x)\)在\(x_0\)的某个邻域\(U(x_0)\)内具有\(n+1\)阶导数,那么对任一\(x\in U(x_0)\),有 \[ \begin{align} 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+\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1} \end{align} \] 其中\(\xi\)是\(x_0\)与\(x\)之间的某个值。
还是记前面的多项式部分为\(p_n(x)\),余项为\(R_n(x)\)。先解释一下定理中的细节,定理中表述【\(\xi\)是\(x_0\)与\(x\)之间的某个值】,这是因为\(x_0\)和\(x\)的大小未知,所以没有用\(\xi\in(x_0,x)\)。定理要求邻域\(U(x_0)\)内具有\(n+1\)阶导数,这是因为余项中有\(f^{(n+1)}(\xi)\)项,而\(\xi\)的取值属于一个范围,所以这个范围中都得\(n+1\)阶可导。
下面以一种类似数学归纳的方法来简要说明定理的证明。
当\(n=0\)时,定理退化为\(f(x)=f(x_0)+f'(\xi)(x-x_0)\),即拉格朗日中值定理。令 \[ \begin{align} F(x)&=f(x)-f(x_0)\\ G(x)&=x-x_0 \end{align} \] 易知\(F(x_0)=0\)、\(G(x_0)=0\),由柯西中值定理有 \[ \frac{F(x)-F(x_0)}{G(x)-G(x_0)}=\frac{f(x)-f(x_0)}{x-x_0}=\frac{F'(\xi)}{G'(\xi)}=\frac{\xi}{1}=f'(\xi) \] 结合等式第二项和最后一项得证。
当\(n=1\)时,定理退化为\(f(x)=f(x_0)+f'(x_0)(x-x_0)+\frac{f''(\xi)}{2}(x-x_0)^2\)。令 \[ \begin{align} F(x)&=f(x)-f(x_0)-f'(x_0)(x-x_0)\\ G(x)&=(x-x_0)^2 \end{align} \]
易知\(F(x_0)=F'(x_0)=0\),\(G(x_0)=G'(x_0)=0\),连续使用两次柯西中值定理有 \[ \frac{F(x)-F(x_0)}{G(x)-G(x_0)}=\frac{f(x)-f(x_0)-f'(x_0)(x-x_0)}{(x-x_0)^2}=\frac{F'(\xi_1)}{G'(\xi_1)}=\\ \frac{F'(\xi_1)-F'(x0)}{G'(\xi_1)-G'(x_0)}=\frac{f'(\xi_1)-f'(x_0)}{2(\xi_1-x_0)}=\frac{F''(\xi)}{G''(\xi)}=\frac{f''(\xi)}{2} \] 结合等式第二项和最后一项得证。
……
当\(n=n\)时,即原定理。令 \[ \begin{align} F(x)&=f(x)-p_n(x)\\ G(x)&=(x-x_0)^n \end{align} \] 也有上述类似的性质,使用\(n+1\)次柯西中值定理即可得证。
以上归纳可以理解为:带拉格朗日余项的泰勒公式就是拉格朗日中值定理的推广。余项中\(f^{(n+1)}(\xi)\)的范围是可以求得的,从而可以估算出误差。
4.2.3 常用麦克劳林公式
\[ \begin{align} e^x&=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\cdots+\frac{x^n}{n!}+o(x^n)\\ \sin x&=x-\frac{x^3}{3!}+\frac{x^5}{5!}+\cdots+(-1)^{n-1}\frac{x^{2n-1}}{(2n-1)!}+o(x^{2n})\\ \cos x&=1-\frac{x^2}{2!}+\frac{x^4}{4!}+\cdots+(-1)^n\frac{x^{2n}}{(2n)!}+o(x^{2n+1})\\ \tan x&=x+\frac{1}{3}x^3+\frac{2}{15}x^5+o(x^6)\\ \ln(1+x)&=x-\frac{x^2}{2}+\frac{x^3}{3}+\cdots+(-1)^{n-1}\frac{x^n}{n}+o(x^n)\\ (1+x)^\lambda&=1+\lambda x+\frac{\lambda(\lambda-1)}{2!}x^2+\cdots+\frac{\lambda(\lambda-1)\cdots(\lambda-n+1)}{n!}x^n+o(x^n)\\ \frac{1}{1+x}&=1-x+x^2-x^3+\cdots+(-1)^nx^n+o(x^n)\\ \frac{1}{1-x}&=1+x+x^2+x^3+\cdots+x^n+o(x^n)\\ \arcsin x&=x+\frac{1}{2}\cdot\frac{1}{3}x^3+\frac{1\cdot3}{2\cdot4}\cdot\frac{1}{5}x^5+\cdots+\frac{(2n-1)!!}{(2n)!!}\cdot\frac{1}{2n+1}x^{2n+1}+o(x^{2n+2})\\ \arctan x&=x-\frac{x^3}{3}+\frac{x^5}{5}+\cdots+(-1)^{n-1}\frac{x^{2n-1}}{2n-1}+o(x^{2n})\\ \end{align} \]
下面帮助大家从推理的角度来记忆以上的公式:
公式 | 理解 |
---|---|
\(e^x\) | 所有阶导数都为\(1\),每一项只有阶乘和\(x\),非常容易记忆 |
\(\sin x\)和\(\cos x\) | 首先记第一项,\(\sin x\)第一项是\(x\),因为它们同阶,\(\cos x\)第一项是\(1\),因为\(\cos(0)=1\)。然后三角函数在零处的\(n\)阶导是\(1、0、-1、0\)循环的,所以每一项符号要改变且指数有间隔。还有一个细节就是后面余项的次数,要比最后一项多一阶。 |
\(\tan x\) | \(\tan x\)没有公式,不想现推的话,可以背前三项方便做题。形式和三角函数差不多,指数都有间隔,第二项都含\(3\),因为\(\tan x\)最大,所以第二项是\(+\frac{1}{3}\),可以参考本节最后有关三角函数和反三角函数的总结来记忆。 |
\(\ln(1+x)\) | 第一项为\(x\),因为它们同阶。从一阶导开始,之后的导数都为\(1+x\)的负数次方,所以求\(n\)阶导时正负交替且含有阶乘,这里的阶乘与公式本来的阶乘相抵,只留下一个系数。 |
\((1+x)^\lambda\) | 第一项为\(1\),第二项为\(\lambda x\),这和\((1+x)^\lambda-1\sim\lambda x\)是对应的。其余正常代公式就可以了。 |
\(\frac{1}{1+x}\) | 即上一个公式\(\lambda\)代入\(-1\),但是这样有些不容易想。该表达式是\(\ln(1+x)\)的导数,所以对\(\ln(1+x)\)的展开式求导就可以了,指数和系数恰好约掉,只有正负交替。 |
\(\frac{1}{1-x}\) | 形式非常特殊,各次方相加。即上一个公式将\(x\)替换为\(-x\)。或者利用\(\ln(1+x)\)的展开式将\(x\)替换为\(-x\),但注意\(\ln(1-x)\)的导数是\(-\frac{1}{1-x}\),前面的负号要和展开式的负号消去。 |
\(\arcsin x\) | 还是从\((1+x)^\lambda\)导出的,\(\lambda\)取\(-\frac{1}{2}\),用\(-x^2\)代替\(x\),再取积分可得。记忆时只需要记住小于指数的双阶乘和它是积分得来的这两点即可,前者说明双阶乘的分子和分母相乘的最后一项都是小于\(x\)的指数的,后者指\(x\)前面的系数和指数相乘可以消去,这正是幂函数积分的特性。另外易知第一项是\(x\)。(其实还不如背前三项hhh) |
\(\arctan x\) | 推导的话,将\(\frac{1}{1+x}\)中的\(x\)替换为\(x^2\),恰好是\(\arctan x\)的导数,展开式为\(1-x^2+x^4-\cdots\),再取积分即得。记忆的话,因为\(\arctan x<\sin x\),所以展开式和\(\sin x\)的相比就没有了阶乘。 |
\(\ln(1+x)\)、\(\frac{1}{1+x}\)和\(\frac{1}{1-x}\)的公式只需要记第一个就可以了,后面两个可以通过代换很方便的得出。
三角函数和反三角函数的展开式有些复杂,但其也有规律,比如展开式指数都有间隔。另外知道其大小关系可以帮助我们记忆第二项。如下是五个函数的图像,也很好理解,\(\tan x\)最陡,其反函数就最缓。
再看第二项,大于\(x\)的为正,小于的为负。所以有 \[ \begin{align} &函数:\arctan x<\sin x<\arcsin x<\tan x\\ &第二项系数:-\frac{1}{3}<-\frac{1}{6}<\frac{1}{6}<\frac{1}{3} \end{align} \]
4.3 导数的应用
4.3.1 单调性
这个没什么好说的,高中题都做烂了,这里只说一下严格单调递增(减)。一般可能会想导数都大(小)于零就是严格递增(减),但其实这么说过于苛刻了,比如\(f(x)=x^3\),也是严格递增的。所以严格单调递增(减)的充要条件是:\(f'(x)\ge0\),且区间只有有限个点的导数为\(0\)。结合\(x^3\)的例子也很好明白。
4.3.2 极值
定义:设\(f(x)\)在点\(x_0\)的邻域内有定义,如果对该邻域内任何\(x\),恒有\(f(x)\le f(x_0)\)(或\(f(x)\ge f(x_0)\)),则称\(x_0\)为\(f(x)\)的一个极大值点(极小值点)。
定义只要求函数有定义,而并没有要求在邻域内连续或可导,这要与极值的充分和必要条件区分开。另外邻域就表明该点必须比左右两边的值都大(小),所以端点不能算极值点。
必要条件:设\(f(x)\)在\(x_0\)处可导,如果\(x_0\)为极值点,则\(f'(x_0)=0\)。
这就是4.1.1中的费马定理。
第一充分条件:设函数\(f(x)\)在\(x_0\)的某去心邻域可导,在\(x_0\)处连续,那么左右导数异号时,有极值点。
整理一下定理的条件,就是说在\(x_0\)的某邻域内连续,在去心邻域内可导,也就是在\(x_0\)点可以不可导。这其实很好理解,比如绝对值函数就是这样。第一充分条件是利用了去心邻域的导数来判断极值。
第二充分条件:设函数\(f(x)\)在\(x_0\)处二阶可导且\(f'(x_0)=0\),\(f''(x_0)\ne0\),则二阶导数大于零极小,二阶导数小于零极大。
二阶可导说明在邻域内一阶导数有定义,进一步说明函数在邻域内连续,所以可以看出第二充分条件是建立在第一充分条件之上的,多了在\(x_0\)处可导这一条件。而利用\(f''(x_0)\ne0\)这个条件就能推出左右导数异号,从而满足第一充分条件,有极值。
第三充分条件:设\(f(x)\)在\(x_0\)处有\(k\)阶导数,且\(f'(x_0)=f''(x_0)=\cdots=f^{(k-1)}(x_0)=0\),\(f^{(k)}(x_0)\ne0\)。当\(k\)为偶数时,若\(f^{(k)}(x_0)>0\),\(x_0\)为极小值点,若\(f^{(k)}(x_0)<0\),\(x_0\)为极大值点。
这个定理其实就补全了第二充分条件,使得多阶导数为零时也能判断极值点。这个定理也不用记,举个例子就明白了:\(f(x)=x^4\),在\(x=0\)处,前三阶导都为零,四阶导为正,所以有极小值点。
证明的话也很简单,可以用带Peano余项的泰勒公式,展开到第\(k\)项,前面的项由于导数为零都消去了,只剩下\(\frac{f^{(k)}(x_0)}{k!}x^k\)和一个高阶无穷小的余项,所以函数在这一点就相当于一个幂函数\(f(x)=x^k\),当\(k\)为偶数时,自然就有了上述性质。
4.3.3 最值
最值大家都很熟悉,定义为闭区间上的最大值或最小值,同样只需要函数有定义就行。这里给出两个很容易理解的结论,不作讲解:
- 连续函数在闭区间的唯一极值是最值。
- 连续函数在开区间的最值是极值。
4.3.4 凹凸性
看了上面两幅图就应该明白了,如果区间内任意两点的平均值大于中点的函数值,就是凹函数(左图),反之就是凸函数。
用二阶导数来描述就是:函数\(f(x)\)在\([a,b]\)内连续,在\((a,b)\)内二阶可导,那么\(f''(x)>0\)就是凹函数,\(f''(x)<0\)就是凸函数。为什么可以用二阶导数来描述呢?因为二阶导数是描述一阶导数的变化率的,而一阶导数就是斜率,所以斜率不断增大就是凹,反之就是凸。
曲线凹凸的分界点称为拐点,要注意拐点是一个点,有横纵坐标,而极值点只是横坐标。关于拐点有以下定理,与极值点同理,只不过导数多了一阶。
必要条件:\(f(x)\)在\(x_0\)处二阶可导,\((x_0,f(x_0))\)是拐点,则\(f''(x_0)=0\)。
第一充分条件:\(f(x)\)在\(x_0\)的某去心邻域二阶可导,在\(x_0\)点连续,左右二阶导异号时该点为拐点。
第二充分条件:\(f(x)\)在\(x_0\)处三阶可导,且\(f''(x_0)=0\),若\(f'''(x_0)\ne0\),则该点为拐点。
第三充分条件:设\(f(x)\)在\(x_0\)处有\(k\)阶导数,且\(f''(x_0)=f'''(x_0)=\cdots=f^{(k-1)}(x_0)=0\),\(f^{(k)}(x_0)\ne0\)。当\(k\)为奇数时(\(k\ge3\)),该点为拐点。想象\(f(x)=x^3\)就可以理解了。
4.3.5 曲率
首先介绍弧微分,就是曲线长度的微分。如上图,当距离很小时,弧长\(ds\)、\(dx\)、\(dy\)构成一个直角三角形,有 \[ ds=\sqrt{(dx)^2+(dy)^2} \] 或提出\(dx\) \[ ds=\sqrt{1+y'^2}dx \] 所谓曲率,就是曲线弯曲的程度。就比如开车急转弯和慢慢转弯,轮胎的轨迹弯曲的程度是不同的,在同样的行驶距离中,转过的角度越大,曲率越大,转同样角度的弯,转得越快(距离越短),曲率越大,所以曲率由转过的角度和转弯的距离同时衡量。曲率就定义为角度增量和弧长增量的比值的极限。 \[ K=\lim\limits_{\Delta s\to0}\left|\frac{\Delta\alpha}{\Delta s}\right|=\frac{d\alpha}{ds} \]
在直角坐标系中,斜率\(\tan\alpha=y'\),所以\(\alpha=\arctan(y')\),所以 \[ d\alpha=\frac{y''}{1+y'^2}dx \] \[ K=\left|\frac{d\alpha}{ds}\right|=\left|\frac{\frac{y''}{1+y'^2}dx}{\sqrt{1+y'^2}dx}\right|=\frac{\left|y''\right|}{(1+y'^2)^{\frac{3}{2}}} \]
对于直线来说,斜率始终不变,\(d\alpha=0\),曲率为零,这符合我们的直观。对于圆来说,\(ds=R\cdot d\alpha\),所以圆的曲率就是\(K=\frac{d\alpha}{ds}=\frac{1}{R}\),半径越大,曲率越小,也符合直观。
由圆的曲率公式,定义曲率半径 \[ \rho=\frac{1}{K} \] 表示在曲线上的一点可以作一个曲率圆,这一点的弯曲程度和曲率圆的弯曲程度是一样的,细节就不说了,看图就懂了。