【微积分】 02 - 连续和导数
1. 连续函数
1.1 连续和间断
实数的完备性是分析学的基础,它自然也是微积分的出发点。极限是实数完备性的具体描述,我们的微积分之旅也从这里开始。在《实数系统》中,我们已经讨论了实数的完备性和极限的概念,这里把极限的概念引入到函数中。在集合论中,函数被看成是集合间的映射,当在集合中引入极限的概念后,我们自然要去讨论函数在满足一定极限条件下的性质。
既然讨论的基础是实数的完备性,当然要将函数\(f(x)\)的定义域和值域都限定为实数域或其子集。当\(x\to x_0\)时,我们希望所研究的函数满足\(f(x)\to f(x_0)\)(式(1)),并称\(f(x)\)在点\(x_0\)处连续。若记定义域为\(X\),且\(f(x)\)在每一点都连续,也称为\(f(x)\)在\(X\)上连续,记作\(C_X\)。
\[\lim_{x\to x_0}{f(x)}\to f(x_0)\tag{1}\]
在分析连续性时,我们可以使用更容易操作的\(\varepsilon\)-\(\delta\)定义(式(2)):对任意的\(\varepsilon>0\),都存在\(\delta>0\),使得当\(|x-x_0|<\delta\)时有\(|f(x)-f(x_0)|<\varepsilon\)。你甚至还可以将它定义为,对任何满足\(x_n\to x_0\)的数列\(\{x_n\}\),都有\(f(x_n)\to f(x_0)\)。这三种定义是等价的,请自行论证,在不同场合下可选择使用。
\[\forall\varepsilon\,\exists\delta\;(|x-x_0|<\delta\;\Rightarrow\;|f(x)-f(x_0)|<\varepsilon)\tag{2}\]
相对地,函数在不连续的点称为间断的,其实有些间断点也有很强的“连续性”,这里将它们单独定义。具有“连续性”的间断点有时也有连续点的很多性质,在具体情况下请留意相应性质的扩展。一种常见的情况是如式(3)的单方连续,它们分别称为左(右)连续,显然连续的充要条件是:既是左连续,又是右连续。对于任何间断点,我们都应该分别讨论它的左右连续(间断)性。
\[\lim_{x\to x_0^-}{f(x)}\to f(x_0);\quad\lim_{x\to x_0^+}{f(x)}\to f(x_0)\tag{3}\]
对于间断点,根据情况还可以进一步分类。若\(f(x)\)在\(x_0\)处有极限,但极限值不是\(f(x_0)\)(甚至\(f(x_0)\)没有定义),修正(补充)\(f(x_0)\)为极限值后,\(f(x)\)在\(x_0\)处连续,这样的间断点称为可去间断点。当\(f(x)\)在\(x_0\)处左右极限都存在时(不一定相等),\(x_0\)称为第一类间断点。反之当左极限或右极限不存在、或极限为无穷,\(x_0\)称为第二类间断点。
• 判定\(\dfrac{\sin{x}}{x}\)、\([x]\)、\(\sin{\dfrac{1}{x}}\)在\(x=0\)处的间断类型。
1.2 连续的判定
连续的概念表示了函数在点的邻域内的性质,在集合上邻域的概念可以进行扩展。如果对任意点\(x\in X\),都有\(X\)包含\(x\)的某个邻域,这样的点集\(X\)称为开集。邻域本身就是开集,而开集可以看做邻域在集合上的扩展(邻域针对一个点,而开集针对一个集合),开集在\(\Bbb{R}\)上补集叫闭集。容易验证,有限个开集(闭集)的交集(并集)还是开集(闭集),任意个开集(闭集)的并集(交集)还是开集(闭集),请自行验证。关于开集、闭集的进一步结论将在《测度论》中讨论,这里可以暂且认为是一些开区间、闭区间。
当\(f(x)\in C_X\)时,连续的定义是说:对任何\(f(x_0)\)的邻域\(U\),都存在\(x_0\)的邻域\(V\),使得\(f(V)\subset U\)。把这个性质扩展到开集\(G\)中,若有\(f(x_0)=y_0\in G\),则易知\(x_0\)的某个领域\(V\subset f^{-1}(G)\),所以\(f^{-1}(G)\)也是开集。反之若\(f(x)\)在任何开集\(G\)的原象也是开集,利用定义可证\(f(x)\)连续,这就有了\(f(x)\)在\(X\)上连续的充要条件:对任何开集\(G\),\(f^{-1}(G)\)也是开集。
以上结论在研究中很有用,但在具体的问题中,我们还需要一些简单的判定方法。例如对称函数,只需要证明其对称轴一侧的连续性即可。对于单调连续函数\(f(x)\),直觉上它的反函数\(f^{-1}(x)\)也是连续的,但还需要严格论证,比如可以使用上面的开集理论证明。有了这个结论,幂函数、对数函数、反三角函数的连续性就得到了证明,至此,初等函数的连续性就确定了。我们还很容易验证函数的四则运算以及复合函数(在有意义的点上)的连续性,这样普通表达式函数的连续性也能确定了(特殊点上需要讨论间断类型)。
另一方面,初等函数及其组合函数的连续性也为求极限提供了直接的方法。基本方法是,通过适当的变形,将函数变形为组合函数,并且每个部分都是容易求极限。比如式(4)的推导中,等号(*)成立的依据就是\(\ln{x}\)的连续性。更多地,你还可以利用\(g(x)^{f(x)}\)的连续性
\[\lim_{x\to 0}{\dfrac{\ln(1+x)}{x}}=\lim_{x\to 0}{\ln{(1+x)^{\frac{1}{x}}}}\overset{*}{=}\ln{\lim_{x\to 0}{(1+x)^{\frac{1}{x}}}}=\ln{e}=1\tag{4}\]
• 求证:\(\lim\limits_{x\to 0^+}{x^x}=1\);
• 求证:\(\lim\limits_{n\to\infty}(\cos{\frac{x}{n}+\lambda\sin{\frac{x}{n}}})^n=e^{\lambda x}\)。
1.3 连续的性质
上面仅仅是定义了连续函数,我们最终还是要研究,这样的函数具有哪些特殊的性质?连续的定义主要是限制了函数值,根据极限的定义,连续点附近的点的值是有界的。在实数系统中我们知道,紧集可以被有限个点的领域覆,由于每个点的邻域上函数值有界,故函数在紧上有界。特别地,由于闭区间是紧集,所以如果\(f(x)\in C_{[a,b]}\),那么\(f(x)\)有界。这个结论被称为连续函数的有界性定理,它也可以通过其它实数基本定理证明,有兴趣可以自行论证。
既然\(f(x)\)有界,它必有上确界\(M\),也就是说存在数列\(\{x_n\}\),使得\(f(x_n)\to M\)。另外,\(\{x_n\}\)的聚点\(x_0\)必然属于\([a,b]\),再由于闭区间的聚点还属于该区间,利用反证法可知\(f(x_0)=M\)。也就是说\(f(x)\)在闭区间上存在最大值\(M\),同样可证,也存在最小值\(m\),这就是连续函数的最值定理。
取任意\(y_0\in [m,M]\),记\(X'\)为满足\(f(x)<y_0\)的所有\(x\),则\(X'\)非零且有界,从而有上确界。类似于最值定理,可证存在\(f(x_0)=y_0\),也就是说\(f(x)\)的值域为\([m,M]\),这被称为介值定理。特别地,如果\(f(a)f(b)<0\),则必然存在\(f(x_0)=0\),这就是零点定理。
以上结论虽然很直观,但证明却不那么明显,是因为都需要用到实数的基本定理。这些结论可以通过不同的实数定理来证明,你可以尝试一下,这样可以再次感受实数的完备性,也能够体会到为什么我一直说它是分析学的根基。当然,光依靠连续性,我们已经得不出更多有价值的结论,还需要对连续函数添加更多的限制。连续的定义仅仅限定了一点周边的值的趋势,但却没有对“趋势”本身做度量,下面就来继续的我们的讨论。
1.4 一致连续
虽然连续函数的每个点的周边都“趋于”该点,但它们“趋于”的“程度”在每个点却是不一样的。对定义中任意的\(\varepsilon\),每个点上选取的\(\delta\)不一定能统一。比如考察\(f(x)=\dfrac{1}{x}\),当选取的\(x_0\)越接近\(0^+\)时,要选取的\(\delta\)无限趋于\(0\),无法统一选取。为此,如果对任意的\(\varepsilon>0\),总存在\(\delta>0\),使得在任意点\(x_0\)的\(\delta\)-领域内都存在\(|f(x)-f(x_0)|<\varepsilon\),这样的函数我们称它在定义域上一致连续。
直觉上你能想到,那些处处“斜率”有界的函数一定是一致连续的,而“斜率”趋于无穷的函数则不一致连续。但真实情况要复杂的多,比如半圆形的两个端点处的斜率是趋于无穷大的,但可以证明它是一致连续的。而一些奇葩的函数,线条很“粗燥”,根本没有斜率,但它却是一致连续的。直觉可以帮助我们理解分析学的很多概念,但严格的定义和论证却是不可缺少的。
再回到一致连续的定义,由于闭区间\([a,b]\)可以被有限覆盖,从而总可以找出统一的\(\delta\)。这就是说任何\(f(x)\in C_{[a,b]}\)都是一致连续的,该结论被称为康托尔定理。另一方面,对任意柯西数列\(\{x_n\}\),当\(|x_i-x_j|<\delta\)时总有\(|f(x_i)-f(x_j)|<\varepsilon\),从而\(\{f(x_n)\}\)也是柯西数列。反之当函数不一致连续时,可构造两个数列\(\{x'_n\},\{x''_n\}\),使得\(|x'_n-x''_n|\to 0\),但\(|f(x'_n)-f(x''_n)|>\varepsilon\)。如果再限定定义域有界,可取\(\{x'_n\},\{x''_n\}\)的柯西子数列重新组成一个柯西数列,但对应函数值不是柯西数列。
上面的讨论说明,定义域有界的函数一致收敛的充要条件是:任意柯西数列的函数值都是柯西数列。这个结论应用到定义域为开区间\((a,b)\)的函数\(f(x)\)上,可以知道\(x\to a^-\)和\(x\to b^+\)时,\(f(x)\)都存在有限极限。另外,有时候可以按函数特点,把定义域分割为有限个有重叠的(必须)子域,在每个每个子域上单独证明其一致连续性。
• 求证:\(\dfrac{\sin{x}}{x}\)在\((0,+\infty)\)上一致连续。
2. 导数
2.1 导数的定义
一致连续对连续函数的极限“趋势”做了初步讨论,现在就来对这个“趋势”进行量化,为连续函数添加新的属性。在连续函数\(f(x)\)的任意一点\(x_0\),当\(\varDelta x=x-x_0\to 0\)时,\(\varDelta f(x_0)=f(x)-f(x_0)\to 0\)。度量这个“趋势”比较自然方法是考察\(\dfrac{\varDelta f(x_0)}{\varDelta x}\),当\(\varDelta x\to 0\),如果该式存在有限极限\(A\),则称\(f(x)\)在\(x_0\)可导,而\(A\)称为\(f(x)\)在\(x_0\)上的导数,也记作\(f'(x_0)\)(式(5))。
\[f'(x_0)=\lim\limits_{\varDelta x\to 0}{\dfrac{\varDelta f(x_0)}{\varDelta x}}\tag{5}\]
当式(5)有无穷极限时,也可以称\(f(x)\)在\(x_0\)上有无穷导数,为方便也可写作\(f'(x_0)=\infty\),极限不存在的则称为不可导。在定义域上处处可导的函数也称为可导的,导数生成的函数\(f'(x)\)也称为导函数。显然可导的函数一定是连续的,可导是连续函数的一种属性,后面的讨论就是基于这个属性来研究函数的性质。
类似单方连续的概念,我们也可以定义单方可导,左(右)导数记为\(f'_-(x)\)(\(f'_+(x)\))。显然,函数可导的充要条件是:左右可导且导数相等。单方可导还能推出单方连续,另外也可以有单方无穷导数的概念,这里就不作赘述了。
2.2 导数的计算
从定义可知,求导(函)数最终还是归结为求极限,像幂函数、指数函数、正(余)弦函数都比较容易求得,请自行验证或参考相关教材。对于组合型函数的导数,我们可以有一些结论简化求导过程。比如对于函数的四则运算,通过定义容易推导出式(6)~(8),请自行验证。利用四则运算和已知的初等函数,可以得到多项式、正(反)切函数等更多函数的导函数。
\[[\,f(x)\pm g(x)\,]'=f'(x)\pm g'(x)\tag{6}\]
\[[\,f(x)g(x)\,]'=f'(x)g(x)+f(x)g'(x)\tag{7}\]
\[[\,\dfrac{f(x)}{g(x)}\,]'=\dfrac{f'(x)g(x)-f(x)g'(x)}{g^2(x)}\tag{8}\]
设\(y=f(x)\),从导数的定义\(\dfrac{\varDelta y}{\varDelta x}\)我们还容易想到,如果\(f'(x_0)\ne 0\),在\(x_0\)足够小的邻域内\(f(x)\)存在反函数\(x=f^{-1}(y)\)。并且\(\dfrac{\varDelta x}{\varDelta y}\)极限存在,为\(\dfrac{1}{f(x_0)}\)。所以如果可导函数\(f(x)\)的导数非零,且存在反函数\(f^{-1}(y)\),那么反函数的导函数存在(式((9))。这个结论可以帮助我们得到对数函数、反三角函数等函数的导函数。
\[[\,f^{-1}(x)\,]'=\dfrac{1}{f'(y)}=\dfrac{1}{f'(f^{-1}(x))}\tag{9}\]
函数的还有一种常见组合形式就是复合函数,设\(u=g(x)\)在\(x_0\)处可导,且\(y=f(u)\)在\(u_0=g(x_0)\)处也可导。也许你觉得直接利用\(\dfrac{\varDelta y}{\varDelta x}=\dfrac{\varDelta y}{\varDelta u}\cdot\dfrac{\varDelta u}{\varDelta x}\)分别求极限就行了,思路是对的,但要注意\(\varDelta u\)可能为\(0\),为此需要换个形式论证(本质是一样的)。
由\(f(u)\)在\(u_0\)可导得到\(\alpha=\dfrac{\varDelta f(u_0)}{\varDelta u}-f'(u_0)\to 0\),整理为式(10),值得注意的是式(10)在\(\varDelta u=\alpha=0\)时也成立。从而有\(\dfrac{\varDelta y}{\varDelta x}=f'(u_0)\dfrac{\varDelta u}{\varDelta x}+\alpha\dfrac{\varDelta u}{\varDelta x}\),求极限便有公式(11)成立,该式称为求导的链锁法则。
\[\varDelta f(u_0)=f'(u_0)\varDelta u+\alpha\varDelta u\tag{10}\]
\[[\,f(g(x))\,]'=f'(g(x))g'(x)\tag{11}\]
以上是求导函数的基本方法,在实际问题中,可能还需要一些变形以简化求导过程,其中最常用一种叫对数求导法。对数有着“降次”的功效,像\(y=u(x)^{v(x)}\)和\(y=\prod f_i(x)\)这样的“高次”函数,取对数后就便成了\(v(x)\ln{u(x)}\)和\(\sum{\ln{f_i(x)}}\)这种“低次”函数。对它们求导是相对容易的,而它们的导函数其实就是\([\ln{y}]'=\dfrac{y'}{y}\),这就很容易得到\(y'\)了。
有些变量的函数关系式写成\(F(x,y)=0\)会更加简单,从而直接对其求导并整理出\(y'\)会更容易一些。有些函数关系甚至无法表示成\(y=f(x)\)的形式,而只能写成\(F(x,y)=0\),这样的函数称为隐函数,它的导数也只能从直接对\(F(x,y)\)求导得来。
• 计算导函数:\(x^x\)、\(\sqrt{\dfrac{(x-1)(x-2)}{(x-3)(x-4)}}\)、\((\dfrac{a}{b})^x(\dfrac{b}{x})^a(\dfrac{x}{a})^b\);
• 计算导函数:\(x^2+xy+y^2=0\)、\(\arctan{\dfrac{y}{x}}=\ln{\sqrt{x^2+y^2}}\)。
2.3 常用导数
下表列出了常见初等函数的导数,以便查阅。(其中\(\sinh{x}=\dfrac{e^x-e^{-x}}{2}\),\(\cosh{x}=\dfrac{e^x+e^{-x}}{2}\),\(\tanh{x}=\dfrac{\sinh{x}}{\cosh{x}}\),\(\coth{x}=\dfrac{\cosh{x}}{\sinh{x}}\))
\(f(x)\) | \(f'(x)\) |
\(c\) | \(0\) |
\(x^{\mu}\), \(x\) \(\dfrac{1}{x}\), \(\sqrt{x}\) |
\(\mu x^{\mu -1}\), \(1\) \(-\dfrac{1}{x^2}\), \(\dfrac{1}{2\sqrt{x}}\) |
\(a^x\), \(e^x\) |
\(a^x\ln{a}\), \(e^x\) |
\(\log_a{x}\), \(\ln{x}\) |
\(\dfrac{1}{x}\log_a{e}\), \(\dfrac{1}{x}\) |
\(\sin{x}\), \(\cos{x}\) |
\(\cos{x}\), \(-\sin{x}\) |
\(\tan{x}\), \(\cot{x}\) |
\(\dfrac{1}{\cos^2{x}}\), \(-\dfrac{1}{\sin^2{x}}\) |
\(\arcsin{x}\), \(\arccos{x}\) |
\(\dfrac{1}{\sqrt{1-x^2}}\), \(-\dfrac{1}{\sqrt{1-x^2}}\) |
\(\arctan{x}\), \(\text{arccot}\,{x}\) |
\(\dfrac{1}{1+x^2}\), \(-\dfrac{1}{1+x^2}\) |
\(\sinh{x}\), \(\cosh{x}\) |
\(\cosh{x}\), \(\sinh{x}\) |
\(\tanh{x}\), \(\coth{x}\) |
\(\dfrac{1}{\cosh^2{x}}\), \(-\dfrac{1}{\sinh^2{x}}\) |
2.4 高阶导数
对于导函数,我们可以继续讨论它的连续性和可导性,如果\(f'(x)\)可导,\(f(x)\)称为二阶可导的,导函数\(f''(x)\)称为\(f(x)\)的二阶导数。进而还可以定义\(n\)阶可导和\(n\)阶导数,导函数记作\(f^{(n)}(x)\)。高阶导数仍然有它的意义,下一篇你会看到它的应用。
关于函数四则运算的高阶导数,我们只需要讨论乘法\(y=uv\)。其实乘法一阶导数的公式\((uv)'=u'v+uv'\),就好像是初始二项式\(a^0b^0\)乘上了\((a+b)\),得到\(a^1b^0+a^0b^1\)。利用这种形式的相似性,很容易得到乘法的高阶导数(式(12)),它被称为莱布尼兹公式。
\[y^{(n)}=(uv)^{(n)}=\sum\limits_{i=0}^n{C_n^iu^{(n-i)}v^{(i)}}\tag{12}\]
从上面的表格看出,初等函数的导函数还是由初等函数组合而成,所以它们都有任意阶导数。但不是所有的高阶导数都有简洁的表达形式,下表列出了一些常用高阶导数,以便查阅。对于复杂的函数,尽量拆解为简单函数的和或积,可以简化计算过程。对有些情况,还需要巧妙的变形,以间接地求得高阶导数。
\(f(x)\) | \(f^{(n)}(x)\) |
\(x^{\mu}\), \(\dfrac{1}{x}\) |
\(\mu(\mu-1)\cdots(\mu-n+1)x^{\mu-n}\), \((-1)^n\dfrac{n!}{x^{n+1}}\) |
\(a^x\), \(e^x\) | \(a^x\ln^n{a}\), \(e^x\) |
\(\sin{x}\), \(\cos{x}\) | \(\sin{(x+\dfrac{\pi}{2}n)}\), \(\cos{(x+\dfrac{\pi}{2}n)}\) |
• 求\(n\)阶导数:\(\dfrac{1}{x^2-1}\)、\(\arctan{x}\);
• 设\(y=\arctan{x}\),不求导函数的情况下求\(y^{(n)}(0)\)。