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)\)。