數學天才用5萬字讓你讀懂:微積分!

前面接連發了三篇麥克斯韋方程組的文章(積分篇微分篇電磁波篇),從理論上來說,講麥克斯韋方程組不講微積分是不行的,因爲人家本來就是一組積分方程和一組微分方程。

 

但是,爲了讓更多人,尤其是中學生也能理解這“最美的公式”,長尾君還是預設不懂微積分的人也能看懂文章,於是在文章裏也只是非常簡單地提了一些必要的微積分。現在麥克斯韋方程組講完了,我們再來好好聊一聊微積分

 

 

微積分有多重要相信大家多多少少心裏都有點數,搞數學的不會微積分就跟中學生不會“加減乘除”一樣,基本上啥都幹不了。牛頓是物理學界的封神人物,然而牛頓還憑藉着微積分的發明,跟阿基米德、高斯並稱爲世界三大數學家,這是何等榮耀?這又從側面反映出微積分是何等地位?

 

除了重要,很多人對微積分的另一個印象就是難。在許多人眼裏,微積分就是高深數學的代名詞,就是高智商的代名詞,許多家長一聽說誰家孩子初中就學了微積分,立馬就感嘆這是別人家的天才。其實不然,微積分並不難,它的基本思想甚至是非常簡單的,不然也不會有那麼多初中生學習微積分的事了。

 

所以,大家在看這篇文章的時候不要有什麼心理負擔,微積分並不是什麼很難的東西,我們連高大上的麥克斯韋方程組都看過來了,還怕什麼微積分對不對?只要跟着長尾科技的思路走,我相信一般的中學生都是可以非常順暢地理解微積分的。

 

好,下面進入正題。

 

 

01從面積說起

 

我們從小學就學了各種求面積的公式,什麼長方形、三角形、圓、梯形等等,然後“求陰影部分的面積”就成了小時候的一塊心理陰影。

 

 

不知道大家當時有沒有想過一個問題:好像我們每學一種新圖形就有一個新的面積公式,可是,世界上有無數種圖形啊,難道我要記無數種公式麼?這太令人沮喪了!

 

更令人沮喪的是,還有很多圖形根本就沒有什麼面積公式。比如我隨手在紙上畫一條曲線,這條曲線圍成的面積你要用什麼公式來算?但是,它確實圍成了一塊確定大小的區域啊,大小是確定的就應該能算出面積來,算不出來就是你的數學不行,對吧?於是,這個事就深深地刺痛了數學家們高傲的內心,然後就有很多人來琢磨這個事,比如阿基米德。

 

如何求一條曲線圍成的面積?

 

面對這個問題,古今中外的數學家的想法都是類似的,那就是:用我們熟悉的圖形(比如三角形、長方形等)去逼近曲線圍成圖形的面積。這就好比在鋪地板磚的時候,我們會用盡可能多的瓷磚去填滿地板,然後這些瓷磚的面積之和差不多就是地板的面積。

 

阿基米德首先考慮拋物線:如何求拋物線和一條直線圍成的面積?拋物線,顧名思義,就是你往天上拋一塊石頭,這塊石頭在空中劃過的軌跡。如下圖的外層曲線:

這條拋物線和直線BC圍成了一個弓形(形狀像一把弓箭,塗了顏色的部分),這個弓形的面積要怎麼求呢?阿基米德的想法是用無數個三角形去逼近這個弓形,就好像我們用很多三角形的瓷磚去鋪滿這塊弓形的地板一樣。

 

他先畫了一個藍色的大三角形ABC(這個三角形並不是隨意畫的,拋物線在A點處的切線必須跟BC平行。這裏我們不細究,只要知道能夠畫出這樣一個三角形就行)。當然,這個三角形ABC的面積肯定比弓形的面積小,小多少呢?顯而易見,小了左右兩邊兩個小弓形的面積。

 

如果我們能把這兩個小弓形的面積求出來,加上三角形ABC就可以求出原來大弓形的面積了。但是,如何求這兩個小弓形的面積呢?答案是:繼續用三角形去逼近!

 

於是,阿基米德又使用同樣的方法,在這兩個小弓形裏畫了兩個綠色的三角形。同樣的,在這兩個小弓形被兩個綠色三角形填充之後,我們又多出了四個弓形,然後我們又用四個黃色的三角形去填充剩餘的弓形……

很顯然,這個過程可以無限重複下去。我們可以用1個藍色,2個綠色的,4個黃色的,8個紅色的等無窮多個三角形來逼近這個弓形。我們也能很直觀地感覺到:我們使用的三角形越多,這些三角形的面積之和就越接近大弓形的面積。用三角形的面積之和來逼近這個弓形面積,這我沒意見,但關鍵是你要怎樣求這麼多三角形(甚至是無窮多個三角形)的面積呢?

 

這就是阿基米德厲害的地方,他發現:每次新畫的三角形的面積都是上一輪三角形面積的1/4。也就是說,2個綠色三角形的面積之和剛好是1個藍色三角形面積的1/4;4個黃色的三角形的面積之和剛好是2個綠色三角形的1/4,那麼就是1個藍色三角形面積的1/16,也就是(1/4)²……

 

如果我們把所有三角形的面積都折算成第一個藍色三角形ABC(用△ABC表示)的面積,那麼大弓形的面積S就可以這樣表示:

S=△ABC+(1/4)△ABC+(1/4)²△ABC +(1/4)³△ABC……

 

這東西放在今天就是一個簡單的無窮級數求和問題,但阿基米德是古希臘人,那是秦始皇都還沒統一中國的年代,什麼高等數學更是不存在的,怎麼辦呢?

 

阿基米德計算了幾項,直覺告訴他這個結果在不斷地逼近(4/3)△ABC,也就是說你用的三角形越多,面積S就越接近(4/3)△ABC。於是阿基米德就猜測:如果我把無窮多個三角形的面積都加起來,這個結果應該剛好等於(4/3)△ABC。

 

當然,光猜測是不行的,數學需要的是嚴格的證明,然後阿基米德就給出了證明。他證明如果面積S大於(4/3)△ABC會出現矛盾,再證明如果它小於(4/3)△ABC也會出現矛盾,所以這個面積S就只能等於(4/3)△ABC,證畢。

 

就這樣,阿基米德就嚴格地求出了拋物線和直線圍成的弓形的面積等於△ABC的4/3,他使用的這種方法被稱爲“窮竭法”。

 

 

02一千年以後

 

時光荏苒,再見已經是一千八百年後的十七世紀了。

 

窮竭法可以精確地算出一些曲線圍成的面積,但是它有個問題:窮竭法對於不同曲線圍成的面積使用不同的圖形去逼近。比如上面使用的是三角形,在其它地方就可能使用其它圖形,不同圖形證明技巧就會不一樣,這樣就比較麻煩。

 

到了十七世紀,大家就統一使用矩形(長方形)來做逼近:不管你是什麼曲線圍成的圖形,我都用無數個矩形來逼近你,而且都沿着x軸來做切割。這樣操作上就簡單多了。

 

還是以拋物線爲例,這次我們考慮最簡單的拋物線y=x²,它的圖像大概就是下面這樣(每取一個x的值,y的值都是它的平方),我們來具體算一算這條拋物線在0到1之間與x軸圍成的面積是多少。

我們用矩形來逼近原圖形,容易想象,矩形的數量越多,這些矩形的面積之和就越接近曲線圍成的面積。這個思路跟窮竭法類似,但是更容易理解。

 

我們假設0到1之間被平均分成了n份,那麼每一份的寬度就是1/n。而矩形的高度就是函數的縱座標的值,縱座標可以通過y=x²很容易算出來。於是,我們就知道,第1個矩形的高度爲(1/n)²,第2個爲(2/n)²,第3個爲(3/n)²……

 

有了寬和高,把它們乘起來就是矩形的面積。於是,所有矩形的面積之和S就可以寫成這樣:

這只是一段普通的化簡,相信大家只要知道平方和公式是下面這樣就秒懂了:

於是,我們就得到了n個矩形面積之和的表達式:

因爲n是矩形的個數,n越大,矩形的數量就越多,那麼這些矩形的面積之和就越接近曲線圍成的面積。所以,如果n變成了無窮大,我們從“直覺”上認爲,這些矩形的面積之和就應該等於拋物線圍成的面積。

 

與此同時,如果n是無窮大,那麼這個表達式的後兩項1/2n和1/6n²從直覺上來看就應該無限趨近於0,或者說等於無窮小,似乎也可以扔掉了。

 

於是,當n趨向於無窮大的時候,面積S就只剩下第一項1/3。所以,我們就把拋物線y=x²與x軸在0到1之間圍成的面積S算出來了,結果不多不少,就等於1/3。

 

看完這種計算方法,大家有什麼想說的?覺得它更簡單,更神奇了,或者其它什麼的?大家注意一下我的措辭,在這一段裏我用一些諸如“直覺上”、“應該”、“似乎”這種不是很精確的表述。在大家的印象裏,數學應該最精確、最嚴密的一門學科啊,怎麼能用這些模糊不清的詞來形容呢?

 

03嚴密性和實用性

 

然而,這正是問題所在:不是我不想講清楚,而是在這個時候根本就講不清楚。別說我講不清楚,牛頓和萊布尼茨也講不清楚,這跟阿基米德用窮竭法求面積時的那種精確形成了鮮明的對比。

 

使用窮竭法求面積,比如爲了得到4/3△ABC,阿基米德就去證明如果它大於4/3會出現矛盾,小於4/3也會出現矛盾,所以你就必須等於4/3。這是非常嚴密的,雖然操作上麻煩了點,但是邏輯上無懈可擊。

 

 

但是到了17世紀,我們是怎麼得到拋物線與x軸圍成的面積等於1/3的呢?我們得到了n個矩形的面積公式:

然後,我們覺得當n越來越大的時候,後面兩項1/2n和1/6n²的值會越來越小,當n變成無窮大的時候,後面兩項應該就是無窮小。於是,我們就認爲可以把它直接捨棄了,所以面積S就只剩下第一項1/3

 

但問題是,無窮小是多小?從直覺上來看,不論n取多大,1/2n和1/6n²都應該是大於0的,我們可以直接把0舍掉,但是對於並不等於0的數我們能直接捨棄掉麼?這樣做的合法性依據在哪裏?

 

相對於古希臘的窮竭法,17世紀這種“統一用矩形來逼近原圖形”的想法簡單了不少,但同時也失去了一些精確性。雖然它計算的結果是正確的,但是它的邏輯並不嚴密。邏輯不嚴密的話,你拿什麼保證你今天這樣用是正確的,明天我那樣用它還是正確的?

 

想想數學爲什麼這麼令人着迷,爲什麼《幾何原本》至今都保持着無與倫比的魅力?不就是因爲數學的血液裏一直流淌着無可挑剔的邏輯嚴密性麼?

 

 

古希臘人或許早就知道17世紀這種更簡單的計算方法,但是因爲方法不夠嚴密,所以他們壓根不屑於使用。他們寧可繞彎使用更麻煩,但是在邏輯上無懈可擊窮竭法,因爲對他們而言:邏輯的嚴密性,遠比計算結果的實用性重要

 

在對嚴密性實用性的取捨上,東西方走了截然不同的兩條路:古代中國毫不猶豫地選擇了實用性。他們需要數學幫助國家計算稅收,計算橋樑房屋等建築工程,計算商業活動裏的各種經濟問題。所以,代表中國古代數學的《九章算術》,裏面全是教你怎麼巧妙地計算這個計算那個。也因此,古代中國會有那麼多能工巧匠,會有那麼多設計精巧的建築工程。

 

 

西方則截然相反,古希臘人堅定不移的選擇了嚴密性。他們需要嚴密的邏輯幫他們認識世界的本原,認識世界是由什麼組成的,爲什麼世界會是現在這個樣子。所以,代表西方古代數學的《幾何原本》就是教你怎麼從5個顯而易見的公理出發,通過嚴密的邏輯一步步推導出400多個多定理,即便這些定理並不顯而易見。因此,西方能誕生現代科學

 

失去簡單性,數學會失去很多;失去嚴密性,數學將失去一切。至於如何讓它變得嚴密,後面我們會細說。

 

04初見積分

 

我們從開篇到現在一直在講面積,而微積分的名字裏剛好又有一個“積”字,那麼,這兩個“積”字有沒有什麼聯繫呢?答案是肯定的。

 

我們可以把微積分拆成“微分”和“積分”兩個詞,積分這個詞當初被造出來,就是用來表示“由無數個無窮小的面積組成的面積S”。

如上圖所示,如果一條曲線y=f(x)和x軸在a和b之間圍成的面積爲S,那麼,我們就可以這樣表示這部分面積S:

在第2節的例子裏,我們求的是拋物線y=x²與x軸在0到1之間圍成的面積。那麼,在這裏f(x)=x²,a=0,b=1,而且最終我們知道這個結果等於1/3,把這些都代入進去我們就可以這樣寫:

也就是說,代表這塊面積的積分值等於1/3。

 

爲了加深一下大家對這個積分式子的理解,我們再回顧一下求拋物線圍成面積的過程:我們用無數個矩形把0到1之間分成了無窮多份,然後把所有的矩形面積都加起來。因爲矩形的面積就是底乘以高,而這個高剛好就是函數的縱座標y。

所以,當我用無數個矩形來逼近原面積的時候,每個矩形的底自然就變成了無窮小,這個無窮小的底就是上面的dx。而x²表示的就是函數的縱座標,就是矩形的高,底(dx)和高(x²)相乘不就是在求面積麼?你再看看這個式子,跟前面求面積的過程是不是一樣的?

不過,我還是要再強調一次,這裏把dx當作一個無窮小的底,把積分當作是求面積,這些都是微積分創立初期的看法。這種看法非常符合我們的直覺,但是邏輯上是不嚴密的。這種無窮小量dx也招致了很多人(比如我們熟悉的貝克萊大主教)對微積分的攻擊,並且引發了第二次數學危機,這場危機一直到19世紀柯西等人完成了微積分的嚴密化之後才徹底化解。隨着微積分的涅槃重生,我們對這些基本概念的看法也會發生根本的改變。

 

關於求面積的事情到這裏就講完了,“用一些圖形去無限逼近曲線圖形”的想法很早就有了,窮竭法在古希臘就很成熟了,中國魏晉時期的數學家劉徽使用割圓術去逼近圓周率也是這種思想。到了17世紀初,這些思想並沒有什麼太大的改變,由於這些解法比較複雜,又很難擴展,所以大家的關注度並不高。

 

沒辦法,因爲打死人們也不會想到:破解這種求曲線面積(求積分)的關鍵,竟然藏在一個看起來跟它毫無關聯的東西身上,這個東西就是微積分名字裏的另一半:微分。當牛頓和萊布尼茨意識到積分和微分之間的內在關係之後,數學就迎來了一次空前的大發展。

 

05直線和斜率

 

好,關於求面積(積分)的事情這裏就先告一段落,接下來我們就來看看微積分裏的另一半:微分。

 

微分學的基本概念是導數,關於導數,我在麥克斯韋方程組的積分篇裏講過一次,在微分篇裏又講過一次(在那裏還講了升級版的偏導數)。這裏它是主角,我再講一次。

 

我們爬山的時候,山越陡越難爬;騎車的時候,路面的坡度越大越難騎。一個面的坡度越大,傾斜得越厲害,我們就越難上去,那麼,我們該如何衡量這個傾斜程度呢?

 

在平面裏畫條一條直線,我們可以直觀地看出這條直線的傾斜程度,而且還不難發現:不管在直線的什麼地方,它的傾斜程度都是一樣的。

 

所以,我們就可以用一個量來描述這整條直線的傾斜程度,這個概念就被形象地命名爲斜率。

 

那麼,一條直線的斜率要怎麼計算呢?這個想法也很直觀:建一個座標系,看看直線在x軸改變了Δx時候,它在y軸的改變量Δy是多少。如果Δx是固定的,那麼顯然Δy越大,這條直線就斜得越厲害,斜率也就越大。

這就跟我們判斷跑步的速度是一樣的道理:給定一個固定的時間,比如10秒(相當於固定的Δx),看看你能跑多遠(相當於Δy),你跑得越遠(Δy越大),我就認爲你跑得就越快。當然也可以反過來,給定一個固定的距離,比如100米(相當於Δy),你跑的時間越短(Δx越小),我就認爲你跑得越快。

 

把這兩種情況綜合一下,我們就能發現:固定時間(Δx)也好,固定距離(Δy)也好,最終起決定作用的是Δy和Δx的比值Δy/Δx。這個比值越大,你就跑得越快,對應的直線也就越陡。

 

所以,我們就可以在直線上隨意找兩個點,用它們縱座標之差Δy和橫座標之差Δx的比值(Δy/Δx)來定義這條直線斜率。

 

學過三角函數的同學也會知道,這個斜率剛好就是這條直線和x軸夾角θ的正切值tanθ,即:tanθ=Δy/Δx。這就是說,直線和x軸的夾角θ越大,它的斜率就越大,就傾斜的越厲害,這跟經驗都是一致的。

 

06曲線和切線

 

直線好說,關鍵是曲線怎麼辦?曲線跟直線不同,它完全可以在這裏平緩一點,在那裏陡峭一點,它在不同地方的傾斜程度是不一樣的。所以,我們就不能說一條曲線的傾斜程度(“斜率”),而只能說曲線在某個具體點的傾斜程度。

 

於是,我們就需要引入一個新的概念:切線。

切線,直觀地看,就是剛好在這點“碰到”曲線的直線。因爲切線是直線,所以切線有斜率,於是我們就可以用切線的斜率代表曲線在這點的傾斜程度。

 

傳統上我們可以這樣定義切線:先隨便畫一個直線,讓這條直線與曲線有兩個交點,這樣的直線叫割線(彷彿把曲線“割斷”了,如下圖藍色的AB)。然後,我們讓B點沿着曲線慢慢向A點靠近,直觀上,等到B點和A點重合之後,割線AB就變成了曲線在A點的切線。

這樣做很符合人們的直覺,但是它在邏輯上會有一點問題:當B點向A點移時,它是什麼時候從割線變成切線的?

重合的時候麼?如果B點和A點重合,那就最後只剩下一個點了,我們知道“兩點確定一條直線”,一個點怎麼能確定一條直線呢?但是,如果B點和A點不重合的話,那麼這就仍然是一條割線而不是切線啊。

 

於是,這樣就出現了一個“一看非常簡單直觀,但是怎麼說都說不圓”的情況,似乎兩個點不行,一個點也不行,怎麼辦?

 

解決這個問題有一個很樸素的思路:要確定這條切線,讓A、B兩點重合是不行的,但是讓它們分得太開也不行。最好就是讓這兩點靠近靠近無限靠近,但是就是不讓它們重合。沒重合的話就依然是兩個點,兩個點可以確定一條直線;無限靠近的話又可以把它跟一般的割線區分開來,這樣不就兩全其美了麼?

 

也就是說,A、B兩點必須無限靠近但又不能重合,這樣它們的距離就無限接近0但又不等於0。這是什麼?這不就又是無窮小麼?

 

我們前面求曲線圍成的面積的時候,核心思想就是用無數個矩形去逼近原圖形,這樣每個矩形的底就變成了無窮小。在這裏,我們又認爲當A、B兩點的距離變成無窮小的時候,割線AB就變成了過A點的切線,是不是有點巧?它們之間的共性,大家可以好好體會一下~

 

07初見微分

 

好,利用無窮小定義了一點上的切線,我們就可以理所當然地用過這點切線的斜率來表示曲線在這點的傾斜度了。

 

如何求直線的斜率我們上面已經說了,我把這張圖再拉回來:

直線的斜率等於在直線上兩點的縱座標之差Δy和橫座標之差Δx的比值,即Δy/Δx。

 

而切線是當曲線上A、B兩點相隔無窮小時確定的直線,那麼切線的斜率依然可以寫成Δy/Δx,只不過這時Δx和Δy都無限趨近於0。

 

萊布尼茨就給這兩個趨近於0卻又不等於0的Δx和Δy重新取了一個名字:dx和dy,並把它們稱爲“微分”。

也就是說,對萊布尼茨而言,dx這個微分就是當Δx趨向於0時的無窮小量,dy也一樣。雖然dx和dy都是無窮小,但是它們的比值dy/dx確是一個有限的數(所以這時候你就不能把無窮小dx當成0了,否則還怎麼當除數?),這就是該點切線的斜率,這樣一切似乎就都解釋得通了。

 

 

08導數

 

顯然,我們在曲線的一點上定義了切線,那麼在平滑曲線的其它點上也能定義切線。因爲每條切線都有一個斜率,所以,曲線上的任何一點都有一個斜率值跟它對應。兩個量之間存在一種對應關係,這是什麼?這就是函數啊。

 

函數y=f(x)不就是告訴我們:給定一個x,就有一個y跟它對應麼?現在我們是給定一個點(假設橫座標爲x),就有一個斜率dy/dx跟它對應。顯然,這也是個函數,這個函數就叫導函數,簡稱導數

 

在中學的時候,我們通常在函數f(x)的右上角加上一撇表示這個函數的導數,那麼現在這兩種情況就都表示導數:

所以,導數f’(x)就可以表示橫座標爲x的地方對應切線的斜率,它表示曲線在這一點上的傾斜程度。如果導數f’(x)的值比較大,曲線就比較陡,f’(x)比較小,曲線就比較平緩。於是,我們就可以用導數來描述曲線的傾斜程度了。

 

下面我們來看一個簡單的例子,看看如何實際求一個函數的導數。

 

例1:求函數f(x)=x²的導數。

 

這還是我們前面說的拋物線,它的函數圖像是這樣的:

求函數的導數,就是求函數在每一點切線的斜率,而切線就是曲線上兩個相距無窮小的點確定的直線。

 

那就好說了,我們假設曲線上有一個橫座標爲x的點,那麼,跟它距離無窮小的點的橫座標就是x+dx,由於這個點也在曲線f(x)=x²上,所以它的縱座標就是(x+dx)²,即:

然後,我們用這兩個點的縱座標之差f(x+dx)-f(x)除以橫座標之差(x+dx)-x就能算出x點的切線斜率。因爲這個x是任意取的,所以得到的結果就是任意點的切線斜率,那麼這就是導數了:

到這一步都很簡單,接下來就有問題了:這上面和下面的dx到底能不能約掉?

 

我們知道,除數是不能爲0的,如果你想分子分母同時除以一個數,就必須保證這個數不是0。現在我們是想除以dx,這個dx就是我們前面定義的無窮小量,它無限接近於0卻又不等於0。

 

所以,似乎我們姑且把它當作一個非零的量直接給約掉,那麼導數上下同時除以dx就成了這樣:

這個式子看起來簡潔了一些,但是後面還是拖了一個小尾巴dx。

 

2x是一個有限的數,一個有限的數加上一個無窮小量,結果是多少?似乎還是應該等於這個具體的數。比如,100加上一個無窮小,結果應該還是100,因爲如果等於100.00…0001那就不對了,無窮小肯定比你所有能給出的數還小啊,那麼也肯定必須比0.00…001還小。

 

所以,我們似乎又有充足的理由把2x後面的這個dx也給去掉,就像丟掉一個等於0的數一樣,這樣最終的導數就可以簡單地寫成這樣:

大家看這個導數,當x越來越大(x>0)的時候,f(x)’的值也是越來越大的。而導數是用來表示函數的傾斜程度的,也就是說,當x越來越大的時候,曲線就越來越陡,這跟圖像完全一致。

 

所以,我們通過約掉一個(非零的)dx,再丟掉一個(等於零的)dx得到的導數f(x)’=2x竟然是正確的。

 

但是這邏輯上就很奇怪了:一個無限趨近於0的無窮小量dx到底是不是0?如果是0,那麼爲什麼可以讓分子分母同時除以它來約分;如果不是0,那又爲什麼可以把它隨意捨棄?

 

總不能同時等於零又不等於零吧?你又不是薛定諤家的無窮小量。

 

數學不是變戲法,怎麼能這麼隨意呢?於是,這個無窮小量招來了一堆批判。爲什麼說“”呢?因爲我在前面講積分的時候就說了一次,在這裏就體現得更明顯了,眼見第二次數學危機大兵壓境~

 

09導數的意義

 

好,我花了這麼大篇幅從直線的斜率講到了曲線的導數,這就已經進入微分學的核心領地了。爲什麼導數這麼重要呢?

 

因爲導數反映的是一個量變化快慢的程度,這其實就是一種廣義的“速度”。速度這個概念在科學裏有多重要就不用我說了吧,當我們說一輛車的速度很快的時候,我們其實就是在說這輛車的位移時間導數很大。

 

此外,有了導數,我們就能輕而易舉地求一條曲線的極值(極大值或極小值),爲什麼?因爲只要導數不爲0,曲線在這裏就是在上升(大於0)或者下降(小於0)的,只有導數等於0的地方,纔有可能是一個極值點。

求極值可是非常重要的:軍人希望他們發射的炮彈可以飛得儘可能地遠;商人希望他們的利潤可以儘可能地高;我們也希望去哪都能走最近的路……

 

導數的這些用處很多人也都知道,事實上,我上面說的所有內容,求曲線圍成的面積也好,求曲線的導數也好,在牛頓和萊布尼茨之前大家就都已經知道了,但這些並不是最重要的。

 

牛頓和萊布尼茨之所以偉大,之所以大家把他們視爲微積分的發明人,是因爲他們在這些尋常事實背後發現了一個極不尋常的祕密:求面積和求導數,或者說積分和微分,這兩個看似完全不搭邊的東西,竟然是一對互逆的運算。

 

 

這裏我就不重複說三遍了,暫停一分鐘,大家好好思考一下這句話,看看自己聽到這句極爲重要的話時有何感想。

 

10互逆運算

 

積分和微分是一對互逆運算,這是微積分最核心的思想。把這個思想用數學語言描述出來就會得到一個定理,這個定理叫微積分基本定理。

 

這也是牛頓和萊布尼茨在微積分裏最重要的發現,因此,微積分基本定理又叫牛頓-萊布尼茨公式。一個定理能夠被稱爲XX基本定理,能夠讓這個領域的兩個發明者直接冠名,這意味着什麼,相信大家心裏都有數。

 

那麼,這句話到底是什麼意思呢?說求面積(積分)和求導(微分)是一對互逆運算到底是在說什麼?甚至,什麼叫互逆運算?爲什麼發現“積分和微分是互逆的”這個事情這麼重要?別急,且聽長尾君慢慢道來。

 

什麼是互逆運算?這裏我們不去細扣它的定義,就直觀地感受一下。從名字來看,互逆互逆,那應該就是有兩種運算,一種能夠把它變過去,另一種又可以把它變回來。

 

最常見的就是加法和減法:3+2=5,5-2=3。3加上2可以變成5,反過來,5減去2又可以變回3,所以加法和減法是一對互逆運算,這很好理解。

 

 

那麼,當我們在說“求面積(積分)和求導(微分)是一對互逆運算”的時候,那就是說如果有一個東西,我們對它進行積分操作(求面積)可以得到一個新東西,如果我們對這個新東西再進行微分操作(求導)又能得到原來的那個東西,這樣纔算互逆。

 

下面我給大家舉一個簡單的例子,讓大家直觀地感受下爲什麼積分和微分是互逆的。

 

假如你從家去學校要走10分鐘,我們把這10分鐘平均分成10份,每份1分鐘。那麼,你在第1分鐘裏走的距離就是第1分鐘的平均速度乘以時間間隔(也就是1分鐘),第2分鐘裏走的距離就是第2分鐘的平均速度乘以時間間隔(還是1分鐘)。以此類推,我們分別把這10個1分鐘裏走的距離加起來,結果就是家到學校的總距離,這個好理解吧。

 

 

大家發現沒有:這其實就是積分的過程。前面求曲線圍成的面積的時候,我們就是把曲線圍成部分的x軸平均分成很多矩形,然後把每個矩形的面積都加起來。這裏求家到學校的總距離,一樣是把家到學校的時間平均分成很多份,然後把每個小份的距離都加起來

 

都是把一個大東西(家到學校的總距離,曲線圍成的總面積)平均切成很多份,然後每一小份都用一個新的東西(每一分鐘的距離每一個矩形的面積)去近似,最後再把所有的小份東西加起來去逼近原來的大東西。

 

求面積的時候,矩形的數量越多,矩形的面積之和就越接近真實面積。同樣的,我們把家到學校的10分鐘分得越細(例子裏只分了10份,我們可以分100份,1000份甚至更多),得到的總距離就越精確。

 

另外,我們把時間段分得越細,每個小時間段裏的平均速度就越接近瞬時速度,如果無窮細分,那麼無窮小時間段裏的平均速度就可以認爲就是瞬時速度了。

 

也就是說,如果知道整個過程中的瞬時速度(或者說是無窮小時間段內的速度),我們就能精確地求出無窮小時間段內的距離,然後把所有距離加起來得到精確的總距離,這就是積分。也就是說,通過積分過程,我們能從瞬時速度求出總距離

另一方面,要證明微分(求導)是這個過程的逆運算,我們就得證明從總距離可以求出瞬時速度。也就是說,如果已知任意時刻你從家到學校的距離,你通過微分(求導)能把瞬時速度求出來

 

這不是顯而易見的事麼?距離對時間求導,這就是速度啊,前面我們也說了“導數是一種廣義的速度”。也就是說:距離除以時間,結果就是速度。你用平均距離除以平均時間得到平均速度,用瞬時距離(某一時刻的距離)除以瞬時時間(無窮小時間片段)自然就得到了瞬時速度

 

這樣不就完了麼,通過積分,我們能從瞬時速度求出總距離來;通過微分,我們能從總距離求出瞬時速度,這就說明積分和微分是一對互逆運算

 

我們也可以換個角度,從圖像來更直觀的看這點。

 

11v-t圖像

 

中學學物理的時候,老師一定會畫速度-時間(v-t)圖像。v-t圖像就是在一個座標系裏,用縱軸表示物體運動的速度v,橫軸表示時間t,然後分析物體的運動情況。如下圖:

然後老師就會告訴你:v-t圖像裏它們圍成的面積s就是物體運動的位移的大小位移是有方向的距離,是一個矢量)。

 

你們想啊,這個座標裏橫軸是時間t,縱軸是速度v,你要算它們的面積,那肯定是要用乘法的。物體做勻速運動的軌跡就是一條平行t軸的直線,速度v1乘以時間t0剛好就是它們圍成的矩形的面積s,而速度乘以時間的物理意義就是它的位移。所以,面積代表位移,剛剛好。

當物體不是勻速運動(軌跡是曲線)的時候,我就可以把時間切割成很多小段,在每一小段裏把它們近似當作勻速運動,這樣每一個小段的面積就代表每一個小段裏的位移

 

然後我把所有小段的面積加起來,得到的總面積不就可以代表總位移了麼?所以,曲線圍成的面積s一樣代表位移

 

大家想想,處理曲線的時候,我們把時間切成很多塊,用每一個小塊的面積(位移)之和去逼近總面積(位移),這不就是積分的思想麼?反過來,如果你把這個黃色的面積S,把這個整體的位移看作一個隨時間t變化的函數,對它求導自然就能得到速度t

 

也就是說,我們對速度v做一次積分能得到位移s;反過來,對位移s求一次導數(微分)就能得到速度v。這樣它們的互逆關係就非常清楚了:

這部分邏輯並不難理解,大家只要好好琢磨一下,就會發現“積分和微分是互逆運算”這個事情是非常自然的。它在日常生活中到處都有體現,只不過我們平常沒有太注意,而牛頓萊布尼茨注意到了。

 

12原函數

 

知道了“積分和微分是互逆運算”能給我們帶來什麼呢?答案是:多一種選擇。因爲既然積分和微分是互逆運算,那麼有些操作如果積分不擅長,我就可以把它丟給微分。

 

什麼意思?還是以最開始求曲線圍成的面積爲例。我們是這樣求拋物線y=x²與x軸在0到1之間圍成面積的:如果用n個矩形去逼近,每個矩形的底就是1/n,n個矩形的面積之和就是這樣:

當n趨向於無窮大的時候,後面兩項就等於無窮小,然後結果就只剩下第一項1/3。

 

用這種方法,面對不同的曲線就得有不同的求和公式,最後還得保證相關項可以變成無窮小丟掉。所以,這種方法的複雜度和侷限性都非常大,無法推廣。

 

但是,在偉大的牛頓和萊布尼茨發現了“積分和微分是互逆運算”之後,這一切就改變了。因爲我們有另一種選擇:積分之路如果不好走,我們可以走微分啊。

 

怎麼走呢?前面講微分的時候,我們計算過f(x)=x²的導數,最終的結果是這樣的:

那麼反過來,如果我知道有一個函數是f(x)=2x,難道我就猜不出究竟是哪個函數求導之後變成了f(x)=2x麼?當然可以啊,我們完全可以根據f(x)=2x反推出原來的函數是f(x)=x²+c。

 

爲什麼這裏多了一個常數c?因爲常數求導的結果都是0,所以就多了這樣一個尾巴。

 

也就是說,f(x)=x²,f(x)=x²+1,f(x)=x²+3等函數的導數都是f(x)=2x,只憑f(x)=2x我們無法確定最開始函數具體是什麼樣子。但是,我們可以確定它一定就是x²加上一個常數c。於是,我們就把求導之前原來的函數f(x)=x²+c稱爲的f(x)=2x的原函數。

 

好,下面是關鍵積分是函數圍成面積的過程,速度v通過積分就得到了位移s,在v-t圖像速度v圍成的面積就是位移s微分是求導的過程,對位移s求一次導數就能夠得到速度v

 

有了原函數以後,我們也可以根據速度v把(求導之後等於速度v的)位移s給求出來,這時候位移s就是速度v的原函數(無非就是再加一個常數c)。而原函數表示的位移s就是速度v圍成的面積,於是,原函數就有了求面積(積分)的效果。

也就是說,s求導一次就變成了v,那麼v反向求導一次就可以得到s,這時候s是v的原函數。另一方面,因爲s求導一次能變成了v,那麼v積分一次也能變成了s(互逆運算)。於是,v通過原函數積分都能得到s,所以原函數s其實就有了積分(曲線v圍成面積)的效果

 

再簡單地說,因爲積分和微分是一對互逆運算,所以你反向微分(求原函數)的話,自然就“負負得正”,得到和積分一樣的效果了。

 

所以,現在求曲線f(x)=x²和x軸在0到1區間裏圍成面積這個原本屬於積分的事情,現在就可以通過反向微分(求原函數)來實現。

 

這是一次非常華麗的轉變,馬上你就會看到這種新方法會把問題簡化到什麼程度,而且,正是這種力量讓數學發生了根本性的改變。

 

13微積分基本定理

 

好,既然要用反向微分的方法求面積,那我們就去找f(x)=x²的原函數,看看到底是哪個函數求導之後變成了f(x)=x²。我們用F(x)來表示這個原函數,那麼F(x)就是它(C爲常數):

大家不放心可以自己去驗算一下,看看這個F(x)求導之後的結果是不是f(x)=x²。

 

因爲求導是一個非常重要、基礎的東西,所以求一些常見函數的導數和原函數都被一勞永逸的製成了表格,大家需要的時候直接去查,記住幾個常用的就行。不過,在學習的初期,大家還是要親自去算一些求導的例子。

 

有了f(x)=x²原函數F(x)以後,怎麼去求f(x)x軸01區間裏圍成的面積呢?前面已經分析了,原函數具有積分的效果,而積分就是曲線圍成的面積,所以原函數也可以表示曲線圍成的面積(爲了方便理解,這裏我們先不考慮常數c的影響,反正函數相減的時候常數c會抵消掉

 

因此,我們要求f(x)與x軸01區間內圍成的面積,直接用這個代表面積的原函數F(x)在1處的值F(1)減去在0處的值F(0)就完了

 

對,你沒看錯,這樣就完了。

 

F(1)-F(0)就是曲線在0到1之間圍成的面積,我們這樣得到的結果是1/3,跟我們原來用矩形逼近計算的結果一模一樣,驚不驚喜,意不意外?但是它明顯比原來的方法簡單太多太多太多了,簡單到一箇中學生都能輕而易舉地算出來,這纔是微積分的真正力量。

有了這樣的鋪墊,微積分基本定理(牛頓-萊布尼茨公式)就非常容易理解了:如果函數f(x)在區間a到b之間連續(簡單理解就是曲線沒有斷),並且存在原函數F(x),那麼就有:

這是式子的左邊就是函數f(x)與x軸在a到b區間內圍成的面積,這點我們在講積分的時候講過了:

式子的右邊就是原函數在b點和a點的差。意義也很明確:函數反向求導得到的原函數F(x)本來就表示面積,那麼F(b)-F(a)自然就是這兩點之間的面積之差。於是公式左右兩邊就都表示面積,完美!

 

這就是微積分基本定理,這就是微積分的核心思想

 

 

相信大家一路看到這裏,要理解這個已經不是什麼難事了。所謂牛頓和萊布尼茨發明的微積分,本質上就是他們看到了“積分和微分是一對互逆運算”,於是我就可以使用“反向微分(求原函數)”的方法來處理積分的問題。

 

積分的逆運算不是微分麼?那麼我把微分再逆一次,於是就“負負得正”,又變成積分了。而“對函數求導,求原函數”比用原始定義,用無窮多個矩形去逼近曲線面積的方法要簡單得多得多,並且這種方法還具有一般性。

 

因此,積分和微分原本是兩門獨立的學問,現在被牛頓萊布尼茨統一成了微積分,這種1+1會產生遠大於2的力量。於是,接下來的數學和科學都出現了空前的發展。

 

14數學的力量

 

微積分的發明使我們求曲線圍成面積的難度出現了斷崖式的下降。那麼,在這個過程中到底發生了什麼?爲什麼數學可以如此有效地簡化我們的問題?是我們的問題本來就很簡單,以前把它想複雜了,還是我們真的把問題的複雜度降低了?

 

還記得小學遇到的“雞兔同籠”問題麼?雞和兔被關在一個籠子裏,從上面數,一共有35個頭,從下面數,一共有94只腳,請問籠子裏分別有多少隻雞和兔?

 

 

有很多“聰明”的老師會教你一些非常“有用”的解題技巧,比如,因爲雞有一個頭兩隻腳,兔子有一個頭四隻腳,而現在總共有35個頭,那麼你把這個35乘以2,得到的70就是所有的雞的腳加上一半的兔子的腳(因爲兔子有4只腳,而你只乘以2,所以每隻兔子你還有2只腳沒有算)。

 

然後,我用總腳數94減去這個70,得到的24就是剩下的一半兔子腳,再用24除以2(一隻兔子4只腳,一半就是2只)就得到了兔子的數量12。因爲一共有35個頭,那麼用35-12=23就是雞的數量

 

當然,雞兔同籠問題還有很多其它的特殊解法,長尾君這裏就不再列舉了。這些解法算出來的結果有問題嗎?當然沒問題,但是這些解法簡單麼?好麼?

 

不好!爲什麼?因爲侷限性太大了。我今天放雞和兔你可以這樣算,那明天我要是放點其它的動物這方法是不是就不管用了?如果下次不是數,而是去數翅膀,這方法還行麼?

 

這就跟阿基米德窮竭法算曲線圍成的面積一樣,面對每一種不同曲線圍成的面積,我求面積的方法都不一樣。我的每一種解法都嚴重依賴曲線的具體特性,所以這種方法的侷限性就非常大,帶來的意義也非常有限。

 

而微積分之所以偉大,就是因爲它從這些看起來不一樣的問題裏抽象出來了一個共同的本質,然後所有的問題都可以套用這套程序,這樣大家才能放心的以它爲跳板往前衝

 

後來我們學習了方程,接着就發現以前讓我們頭痛不已的“雞兔同籠”問題突然就變得非常簡單了。不僅解決這個具體問題簡單,而且隨便你怎麼變化,加入其它的動物也好,數上翅膀也好,都可以用一樣的程序閉着眼睛把題目做出來。爲什麼會這樣?

 

沒有方程的時候,我們得具體問題具體分析,然後根據它的題幹去做各種逆向分析。

 

逆向思考,這本來就是很反人類的思維方式。我們很容易從一系列原因出發得到某種結果,但是給你某種結果讓你去倒着分析原因就是很困難的事情了(這不才有了偵探這個職業麼)。

 

 

比如,如果我們現在知道了有23只雞,12只兔子,然後讓你去計算有多少頭和腳,這是正向思維,很容易。但是,如果告訴你有多少頭和腳,讓你去反着思考有多少雞和兔子,這就是逆向思維了,很麻煩。

 

方程告訴我們:爲什麼放着自己熟悉的正向思維不用,而跑去用麻煩的逆向思維呢?你說,我這不是不知道有多少隻雞和兔子,這不得已才用逆向思維麼?方程告訴你,你不知道有多少隻雞和兔子無所謂,你可以先用一個未知的量代替它,先用正向思維把方程列出來再說。

 

比如,我假設有x只雞,y只兔子,那麼,一共就有x+y個頭,2x+4y只腿。而題目告訴我們有35個頭,94只腳,所以我們就可以得到:

我們毫不費力的就把這兩個方程列出來了,於是這個題目基本上就做完了。因爲剩下的事情就是把x和y從方程裏解出來,而解方程是一件高度程序化的事情,什麼樣的方程怎麼去求解,都有固定的方法。

 

從小學時代的“聰明技巧”到傻瓜式地列方程、解方程,這是數學上一個非常典型的進步,大家可以仔細想想:這個過程中到底發生了什麼?方程到底是如何簡化問題的?這跟微積分的發明有何異曲同工之妙?

 

其實,我們開始思考雞兔同籠的那些“聰明的技巧”,那些逆向思維時的思路,都被打包塞到解方程的步驟裏去了

 

什麼意思?比如,你要解上面這個方程:

老師可能會教你一些固定的方法。

 

第一步,把方程1兩邊都乘以2,得到2x+2y=70(這不就是跟我們上面的方法一樣,把所有雞兔的頭都乘以2麼)。

 

第二步,再用方程2減去方程1,這樣就把x消去了,得到了2y=24(我們上面也是這麼說的,腳的數量減去2倍頭的數量就等於兔子剩下的腳的一半),然後就把兔子的數量y=12求出來了。

 

第三步,把兔子的數量,也就是y的值12代入到方程1,求出x的值,得到了雞的數量23。

 

大家發現沒有:你以前思考這個問題時最複雜的那些步驟,現在完全被機械化地打包到解方程的過程中去了。你以前覺得那些只有你才能想得到的巧妙解題技巧,只不過是最簡單的解方程的方法,所以你就覺得這個問題現在變得非常簡單了。

 

這就是數學!

 

 

數學不斷地從不同領域抽象出一些相同的本質,然後儘可能地把抽象出來的東西一般化,程序化,這樣我們就能越來越方便地掌握各種高級數學武器。

 

因此,數學越發展越抽象,越看重這種能夠一般化、程序化的解決某種問題的方法。所以,方程的思想是革命性的,微積分也一樣。

 

微積分也是使用了一種通用的方法來處理各種曲線圍成的面積,稍加變化我們就能同樣求出曲線的長度,或者曲面包含的體積。微積分之所以能夠簡化求面積的邏輯,是因爲微積分把這塊邏輯都打包到求原函數裏去了,而後者是一個可以程序化、一般化的操作。

 

所以,我們學習數學的時候,也要更多地注意這些數學是從哪些不同的地方抽象出了哪些相同的本質,如何一般化地解決這類問題上。這是數學的“大道”,我們不用過於在意那些小技巧,沒必要耗時間去琢磨“雞兔同籠”問題的108種解法,以至於揀了芝麻丟了西瓜~

 

這一段似乎有點偏離主題,但是我覺得很重要。把這些理清楚了,對大家如何定位數學,如何理解、學習數學都會有很大的幫助。否則,如果我們從小學到高中學了十幾年的數學,卻不知道數學是什麼,那不是很悲催麼?而且,這一段對於我們理解微積分的意義也會很有幫助。

 

15進擊的微積分

 

好,現在微積分創立了,微積分的基本定理也被正式地提出來了,接下來應該再做什麼呢?你該不會以爲文章到這裏就要結束了吧?不不不,還遠遠沒有。

 

誠然,微積分基本定理的發現是這場革命裏最核心的東西,相當於革命的指導思想。既然已經有了指導思想,那接下來要做的事情自然就是擴大戰果,把這麼優秀的思想擴散到各個領域裏去啊。怎麼擴呢?

 

首先,微積分基本定理的核心思想就是用求原函數的方式來解決求面積的問題,所以求一個函數的原函數就成了問題的核心。那麼,我們自然就要研究各種常見函數的求導和求原函數的方法。

 

這些弄清楚之後,我們接下來就要問:由一些常見函數組成的複合函數,比如兩個函數相加減、相乘除、相嵌套複合等時候要怎麼求原函數?怎麼求積分?再擴展一下,現在知道了如何求面積,那要怎樣求體積,求曲線的長度呢?

 

這部分內容是我們最擅長的,也是我們考試的重點。它的核心就是熟悉各種前人總結下來的微積分技巧,多練習,熟能生巧,沒什麼捷徑。但是,也要特別警惕把對微積分的學習完全變成了對這種技巧的訓練,這樣數學就真的變成了算術了

 

此外,我強烈建議有抱負的同學不要急着打開微積分的課本直接去翻看這些問題的答案。我在前面已經把微積分的思想說了,大家完全可以看看自己能不能獨立把這些問題推出來,實在沒轍了再去翻課本,也就是孔子說的“不憤不啓,不悱不發”。

 

 

牛頓萊布尼茨那樣洞察“積分和微分是互逆運算”,然後提出微積分基本定理,這是一流科學家的素養。一流科學家提出這種重大創新之後,你能跟着把後面很自然的東西做完善,這是二流科學家的基本素養。大家在學習數學的時候要有意識地培養自己的這種能力~

 

然後,我們就可以把微積分的技術擴展到各種其它的領域了。比如,有了微積分,我就可以研究彎曲的東西,曲線、曲面什麼的都可以研究。這就等於說是在用微積分來研究幾何,這就是微分幾何。後面我講廣義相對論的時候,這玩意就必不可少了。

 

有了微積分,我們發現很多物理定律都可以寫成微分方程的形式,有多個變量的時候就是偏微分方程。我上三篇文章講的麥克斯韋方程組、波動方程,後面要講的廣義相對論的場方程,都是這樣。

 

有了微積分,我們就可以計算各種不同曲線的長度。那麼,如何確定在特定條件下最短的那條曲線呢?這裏就發展出了變分法,變分法配合最小作用量原理,在物理學的發展裏起到了極爲關鍵的作用。

所以,微積分在接下來的兩個世紀裏基本上就這樣瘋狂的擴張着。科學(尤其是物理學)的發展需要微積分,微積分也需要從科學裏尋汲取營養,它們就這樣相互促進、相互成長、相親相愛。

 

16被忽略的無窮小

 

但是,似乎大家都忘了一個問題:此時微積分的基礎並不牢固,萊布尼茨把dx視爲一個無窮小量,但是無窮小量還是怎麼說都說不圓。

 

一個接近於0不等於0的無窮小量到底是個什麼玩意?爲什麼你有時候可以把它當除數約掉(認爲它不爲0),有時候又隨意把它捨棄(認爲它等於0)?看數學史的時候也會覺得奇怪,像歐拉、拉格朗日、拉普拉斯、伯努利兄弟這些頂級數學家,居然都對這些問題視而不見。更讓人奇怪的是,他們使用這種邏輯不嚴密的微積分居然沒有出什麼差錯,只能說大佬們的直覺確實逆天。

 

 

因此,微積分最後的問題就是:如何使微積分嚴密化?如何把微積分建立在一個堅實的基礎之上?

 

之所以把dx看成一個無限趨近於0卻又不等於0的無窮小量,主要是因爲這樣做很直觀。我們用很多矩形去逼近曲線圍成的面積,矩形數量越多,每個矩形的寬度就越小。當矩形的數量變成“無窮多個”的時候,每個矩形的寬度就“理所當然”地變成了無窮小。這麼看,無窮小量確實很直觀,但是這裏有什麼問題呢?

 

當我說矩形的數量是一百個、一千個的時候,我是可以把它們都出來的,我也可以把它們的面積之和都算出來。但是,當你說矩形的數量是無窮多個的時候,無窮多個是多少個?你能數出來麼你真的可以把無窮多個矩形的面積一一算出來,然後把它們加起來麼

 

有人可能覺得我在胡攪蠻纏。無窮嘛,那肯定是無法具體出來、出來的,也不可能真的把無窮多個矩形的面積一個個算出來再求和。但是我知道是那麼個意思,是那麼回事就行了。我測不出來,但是我能想出來,難道還不讓我想了麼?

 

對,還真就不讓想了

 

大家可能都知道,科學哲學以前是一家的。因爲純粹的思辨在哲學裏非常常見,所以以前的“科學”裏就到處夾雜着這種“可以想但是無法測量的東西”,這就極大的限制了科學的發展。因爲一個東西如果無法測量你就無法用實驗去驗證它,無法驗證你就不知道它是對是錯,你不知道對錯那就只能以權威說了算。你沒有證據還敢說權威不對,那就很麻煩了,所以亞里士多德的學說可以統治歐洲近兩千年。

 

現代科學從哲學裏分離了出來,一個標誌性的操作就是:科學家們開始關注那些能夠用實驗測量到的量,對那些用實驗無法測量的東西避而不談。

 

伽利略是公認的“現代科學之父”,他的核心觀點有兩條:第一,用數學定量地描述科學;第二,用實驗驗證科學。所以,如果你談的是現代科學,那你就不能亂想了。

 

如果你還想用一些無法測量的概念來構建你的“科學體系”,那麼你的方法論就是非科學的,你構建的也只是玄學而非科學,這是很多民科非常容易犯的錯誤。龐加萊甚至直接說:“凡是不能測量的東西,都不能算是自然科學。”

 

 

這種思想在科學昌盛的19世紀已經很普遍了,誕生於這個時期的實證主義也指出:人類不可能也不必要去認識事物的“本質”,科學是對經驗的描寫。他們甚至提出口號要“取消形而上學”。

 

17柯西來了

 

總之,一切的一切就是不讓你在科學裏再談那些無法測量,無法驗證的概念,科學要基於實證

 

那麼,只能想卻無法數,無法“觀測”的無窮小量是不是這樣的一個概念呢?雖然它很直觀,但是你回顧科學的歷史,反直覺的重大科學進步難道還少麼?歷史一次次地告誡我們:直覺不可靠,我們能依靠的只有嚴密的邏輯和確鑿的實驗。

 

在這樣的大環境下,我們迎來了一位重要人物:柯西。

 

 

柯西深刻地認識到:只要涉及數學概念,任何關於連續運動的一些先驗的直觀觀念,都是可以避免,甚至是必須避免的。科學放棄了形而上學方面的努力,採用“可觀測”概念之後就迎來了大發展,那數學爲什麼不也這樣呢?

 

無窮小量是一個無限趨近於0但是又不能等於0的概念,也就是說它有一個極限位置0,你可以想多接近就多接近,但就是無法到達。

 

我們知道實數跟數軸上的點是一一對應的。當我們說一個量在無限趨近於0的時候,很多人腦海裏浮現的畫面就是一個點在數軸上不停地移動,從一個點移動到下一個點,一直靠近0這個點。

 

但是這個圖景是不對的,爲什麼?因爲實數稠密的。稠密就是說任意兩個點(實數)之間永遠都有無數個點(實數)(你自己想想是不是,1和2之間有多少個數?)。你以爲它能從A點移動到鄰近的下一個B點麼?對不起,這個它真做不到!

A點和B點之間永遠有無數個點,也就是說A點根本就沒有所謂的“下一個點”。你認爲我一定要走完了A點到B點之間所有的點才能到達B點,那就不可避免地會陷入到芝諾悖論裏去。因爲你壓根就不可能走完任何兩個點之間的所有點(因爲是無窮多個),所以,如果按照這種邏輯,你就根本“走不動”,所以芝諾的飛矢就飛不動了。

因此,面對這種連續的概念的時候,我們就不應該使用這種“動態的”定義。你想通過“讓一個點在數軸上動態地運動來定義極限”是行不通的,這就是萊布尼茨的無窮小量栽跟頭的真正原因。

 

數學家們經過一百多年的探索、失敗和總結,最後終於意識到了這點,這些思想在柯西這裏完全成熟。於是,柯西完全放棄了那種動態的定義方式,轉而採取了一種完全靜態,完全可以描述測量的方式重新定義了極限,進而爲微積分奠定了紮實的基礎。

 

這裏我把柯西對極限的新定義原封不動的貼出來:當一個變量相繼的值無限地趨近某個固定值的時候,如果它同這個固定值之間的差可以隨意地小,那麼這個固定值就被稱爲它的極限。

 

有人看了這個定義之後就在犯嘀咕:這跟萊布尼茨說的不是一樣的麼?你還不是在用“無限趨近”啊,“隨意的小”啊這種跟“無窮小”差不多的概念來定義極限麼?你說以前的定義是動態的柯西給整成了靜態的,可是我看來看去,柯西這個定義好像也在動啊。什麼無限趨近,隨意的小,不是在動麼?

 

有這些疑問是正常的,畢竟是讓數學家們卡了一百多年的問題,不可能那麼太“顯而易見”。

 

我們再仔細看看柯西的定義,它跟以前的差別到底在哪?你看啊,柯西雖然也有用“無限趨近”,但是他只是用這個來描述這個現象,並不是用它來做判決的。他的核心判決是後面一句:如果它同這個固定值之間的差可以隨意的小,那麼它就是極限

 

可以隨意的小和你主動去無限逼近是完全不一樣的。可以隨意小的意思是:你讓我多小我就可以多小。你讓我小於0.1,我就能小於0.1;你讓我小於0.01,我就能小於0.01;你讓我小於0.00…001,我就可以小於0.00…001。只要你能說出一個確定的值,不管你說的值有多小,我都可以讓它跟這個固定值的差比你更小。柯西說如果這樣的話,那麼這個固定值就是它的極限。

 

大家發現沒有,柯西學聰明,學雞賊了,他把這個判斷過程給顛倒了過來。以前是你要證明自己的極限是0,你就不停地變小,不停地朝0這個地方跑過去。但是,你和0之間永遠隔着無數個點,所以你永遠也跑不完,你也就不知道你要跑到什麼時候去,這樣就暈了。

 

現在我學聰明瞭,這個難以界定的東西,這個燙手的山芋我不管了,我丟給你,我讓你先說。只要你說出一個數,你要我變得多小我就變得多小。你如果想讓我變成無窮小,那你就得先把無窮小是多少給我說出來,你說不出來的話那就不能怪我了。

完美甩鍋!這就是柯西的核心思想。

 

柯西就通過這種方式把那些不可測的概念擋在了數學之外,因爲你能具體說出來的數,那肯定就都是“可觀測”的啊。大家再看看這個定義,再想想之前萊布尼茨的想法,是不是這麼回事?

 

於是,柯西就這樣完美的甩開了那個招人煩的無窮小量。在柯西這裏,無窮小量不過就是一個簡單的極限爲0的量而已,一個“只要你可以說出一個數,我肯定就可以讓我和0之間的差比你給的數更小”的量。這樣我們就能把它說得清清楚楚,它也不再有任何神祕了。

 

18魏爾斯特拉斯和ε-δ極限

 

然後,魏爾斯特拉斯用完全數學的語言改進了柯西的這段純文字的定義,得到了最終的,也是我們現在教材裏使用的ε-δ極限定義。

 

根據柯西的思想,魏爾斯特拉斯說:你要判斷某個函數f(x)某個地方a極限是不是某個值L,關鍵就要看如果我任意說一個數ε(比如0.00…001或者任意其它的,注意是任意取,這裏用ε代替),你能不能找到一個x的取值範圍(用δ來衡量),讓這個範圍裏的函數值f(x)與那個值L之間的差(用套個絕對值|f(x)-L|表示)小於ε。如果你總能找到這樣的δ,那我就說函數f(x)a點的極限爲L

 

用精練的數學語言表述上面的話就是:當且僅當對於任意的ε,存在一個δ>0,使得只要0<|x-a|<δ,就有|f(x)-L|<ε,那麼我們就說f(x)在a點的極限爲L。記做:

定義裏的Lim就是極限的英文單詞Limit的縮寫,這個箭頭x->a也非常形象地表達了極限這個概念。

 

這個定義就真正做到了完全“靜態”,不再有任何運動的痕跡(連柯西說的“無限趨近”、“隨意的小”都沒有了),也不再有任何說不清的地方。從定義你也能清楚地看出來:它根本不關心你是如何逼近L的,飛過去、跳過去、爬過去的它都不管,只要最後的差比ε小就行,我就承認你是我的極限。

 

用一位偉人的名言翻譯一下就是:不管黑貓白貓,能比ε還小的就是我的極限好貓。

這裏要特別注意的是ε是任意的,任意就是說隨便ε取什麼你都要找到對應的δ,你不能說有10個ε滿足條件就說這是極限。

 

看個例子,我們考慮最簡單的f(x)=1/x。當x的取值(x>0)越來越大的時候,這個函數的值就會越來越小:

f(1)=1,

f(10)=0.1,

f(100)=0.01,

f(1000)=0.001,

……

 

看得出來,當x的取值越來越大的時候,f(x)的值會越來越趨近於0。所以,函數f(x)在無窮遠處的極限值應該是0,也就是說:

這個結論是很明顯的,接下來我們就來看看如何用ε-δ定義來說這個事。

 

按照定義,我們要取一個任意小的ε,假設這裏我們取ε=0.1,那麼我們就要去找一個δ,看能不能找到一個範圍讓|f(x)-0|<0.1,顯然只需要x>10就行了;取ε=0.01,就只需要x>100就行了;任意給一個ε,我們顯然都能找到一個數,當x大於這個數的時候滿足|f(x)-0|<ε,這樣就OK了。

 

於是,我們就構建了一個邏輯嚴密,不再有任何“說不清”概念的極限理論。有了這個堅實的地基,我們就可以放心地在上面蓋房子了。那個漂泊了一百多年,那個被幽靈般的無窮小量纏繞了一百多年的微積分,即將迎來新生。

 

19積分的重建

 

先看積分,我們之前認爲曲線圍成的面積無數個寬度爲無窮小量的矩形面積之和,於是我們在這裏就被無窮小量纏上了。有了ε-δ極限之後,我們就可以刷新一下我們對積分的認知了:從現在起,我們把曲線圍成的面積看成是一個極限,而不再是無數個無窮小量的矩形面積之和

 

什麼意思?假設我們用1個矩形逼近曲線圍成的面積的時候,我把這一個矩形的面積記做S1,用兩個矩形逼近的面積之和記做S2,同樣的,我們記下S3,S4,S5……

 

一般情況,如果我們用n個矩形去逼近這個面積,這n個矩形的面積之和就記做Sn。如果這個Sn的極限存在,也就是說,隨便你說出一個數字ε,我都能找到一個n的範圍,讓Sn和A之間的差|Sn-A|小於你給定的這個數字ε。那麼,A就是這個Sn的極限。

於是,我們就說:曲線圍成的面積就是這個極限A,它是n個矩形面積之和這個序列Sn的極限。

所以,我們就把這個極限過程表示的面積A定義爲函數f(x)從a到b上的積分:

這樣,我們的積分就成了一個由ε-δ語言精確定義的極限。這裏沒有那個等於0又不等於0的無窮小量,一切都清清楚楚、明明白白,沒有含糊的地方,這就是第二次數學危機的終極解決之道。

 

這樣處理雖然不再那麼直觀,但是它非常精確和嚴密,這是符合數學的精神的。直觀雖然能幫助我們更好的感受數學,但是如果失去了嚴密性,數學將什麼都不是。

 

20導數的重建

 

積分解決了,微分這邊也是一樣。有了ε-δ定義之後,我們就再不能把導數看成是兩個無窮小量的比值(dy/dx),而是:把導數也看成一個極限,對,還是極限。

 

這個理解起來相對容易,函數在某一點的導數就是這點切線的斜率。我們前面也說了,切線就是當割線的兩點不停地靠近,當它們的距離變成無窮小時決定的直線。

很顯然,這個定義是依賴無窮小量的,我們現在要用ε-δ定義極限來代替這個無窮小量。所以,切線就應該被理解爲割線的極限,那麼切線的斜率(也就是這點的導數自然就是割線斜率極限,所以導數f(x)’也自然而然地成了一個極限

 

由於割線的斜率就是用這兩點的縱座標之差f(x+Δx)-f(x)除以這兩點的橫座標之差x+Δx-x=Δx),而導數f(x)’割線斜率極限。那麼,我們在割線斜率的前面加一個極限符號就可以表示導數f(x)’了:

這纔是導數的真正定義,它是一個極限,而不再是兩個無窮小量dy與dx的商dy/dx。也就是說,按照極限的ε-δ定義,這個導數f(x)’的真正含義是:你任意給一個ε,我都能讓割線的斜率與這個值的差比你給的ε更小。

 

我反覆強調ε-δ定義的含義,就是希望大家能真的從這種角度去理解極限,思考極限,逐漸放棄那種“無限動態趨近某個點”的圖景。思維一旦形成定勢,想再改過來是非常困難的,所以我們得經常給自己“洗腦”,直到把新理論的核心思想洗到自己的潛意識裏去,這樣纔算真正掌握了它。

 

我以前講相對論的時候,很多人在講相對論時能切換到相對論思維,但是平常一不留神就又跌回到牛頓的思維裏去了。然後就鬧出了一堆悖論佯謬和各種奇奇怪怪的東西,這裏也一樣。

 

21微分的重建

 

萊布尼茨當年認爲導數是兩個無窮小量dy和dx的商,所以他用dy/dx來表示導數。雖然現在導數不再是這個意思,但是萊布尼茨當年精心發明的這一套符號確實是非常好用,於是我們就繼續沿用了下來。

 

也就是說,我們今天仍然用dy/dx表示導數,但是大家一定要注意,dy/dx在現代語境裏是一個極限,不再是兩個無窮小量的商。

如果不熟悉微積分的歷史,就很容易對這些符號產生各種誤解,這也是很多科普文、教科書在講微積分時的一大難點。因爲思想是新的,符號卻是老的,確實很容易讓人犯糊塗。

 

於是,在萊布尼茨那裏,他是先定義了代表無窮小量微分dxdy,然後再用微分的商定義了導數dy/dx,所以那時候導數也叫微商

 

 

但是現在劇情完全反轉了:我們現在是先用ε-δ定義了極限,然後從極限定義導數dy/dx。這裏壓根沒有微分什麼事,只不過由於歷史原因我們依然把導數寫成dy/dx這個樣子。

 

那麼,dxdy這兩個之前被當作無窮小量的微分的東西,現在還有意義麼?

 

答案是有意義

 

這個dxdy還是有意義的,當然,有意義也肯定不可能再是以前無窮小量的意思了。那麼,在ε-δ極限這種全新的語境下,dxdy在新時代的意義又是什麼呢?請看下圖:

藍色切線的斜率表示在P點的導數,如果我們繼續用dy/dx表示導數的話,那麼從圖裏就可以清楚的看到:dx表示在x軸的變化量,dy就剛好表示藍色的切線在y軸的變化量。

 

也就是說,當自變量變化了Δx的時候,Δy表示實際的曲線的變化量,而微分dy則表示這條切線上的變化量,這就是新的語境下函數微分dy的含義。而自變量的微分dx,大家可以看到,就跟x軸的變化量Δx是一回事。

 

由於切線是一條直線,而直線的斜率是一定的。所以,如果我們假設這條切線的斜率A,那麼dyΔx之間就存在這樣一種線性關係:dy=A·Δx

 

這些結論都可以很容易從圖中看出來,但是,一個函數在某一點是否有微分是有條件的。我們這裏是一條很“光滑”的曲線,所以在P點有微分dy,也就是說它在P點是可微的。但是,如果函數在P點是一個折點,一個尖尖的拐點呢?那就不行了。因爲有拐點的話,你在這裏根本就作不出切線來了,那還談什麼Δydy

 

關於函數在一點是否可微是一個比較複雜(相對科普的複雜~)的問題,判斷曲線(一元函數)和曲面(二元函數)的可微性條件也不太一樣。直觀地看,如果它們看起來是“光滑”的,那基本上就是可微的。

 

微分的嚴格定義是這樣的:對於Δy是否存在着一個關於Δx爲線性的無窮小A·Δx(A爲常數),使它與Δy的差是較Δx更高階的無窮小。也就是說,下面這個式子是否成立:

o(Δx)就表示Δx的高階無窮小,從字面上理解,高階無窮小就是比無窮小還無窮小。當Δx慢慢趨向於0的時候,o(Δx)能夠比Δx以更快的速度趨向於0。比如當Δx減小爲原來的1/10的時候,o(Δx)就減小到了原來的1/100,1/1000甚至更多。

 

如果這個式子成立,我們就說函數y=f(x)在這點是可微的,dy=A·Δx就是函數的微分。因爲這是一個線性函數,所以我們說微分dy是Δy的線性主部。

 

這部分的內容好像確實有點乏味,萊布尼茨時代的微分dy就是一個接近0又不等於0的無窮小量,理解起來非常直觀。但是,我們經過ε-δ的極限重新定義的函數的微分dy竟然變成了一個線性主部。這很不直觀,定義也挺拗口的,但是這樣的微積分纔是現代的微積分,纔是基礎牢固、邏輯嚴密的微積分。

 

 

爲了讓大家對這個不怎麼直觀的微分概念也能有一個比較直觀的概念,我們再來看一個非常簡單的例子。

 

我們都知道半徑爲r的圓的面積公式是S=πr²。如果我們讓半徑增加Δr,那麼新的圓的面積就應該寫成π(r+Δr)²,那麼,增加的面積ΔS就應該等於兩個圓的面積之差:

大家看到沒有,這個式子就跟我們上面的Δy=A·Δx+o(Δx)是一模一樣的。只不過我們把x和y換成了r和S,A在這裏就是2πr,這裏的π(Δr)²是關於Δr的平方項,這不就是所謂的高階(平方是2階,Δr是1階,2比1更高階)無窮小o(Δx)麼?

 

所以,它的微分ds就是2πr·Δr這一項:

它的幾何意義也很清楚:這就是一個長爲2πr(這剛好是圓的周長),寬爲Δr的矩形的面積,好像是把這個圓“拉直”了所得的矩形的面積

 

好了,微分的事情就說到這裏,剩下的大家可以自己慢慢去體會。畢竟這是一篇關於微積分的科普文,再寫太多就成教材了。

 

22收官的勒貝格

 

關於微積分的重建,我們已經看到了如何在ε-δ定義的新極限下重新定義了積分和微分,也看到了在這種新的定義下,積分和微分的概念跟以前有什麼不同。沿着這條路,我們還能非常嚴格的證明微積分基本定理,也能很好地處理連續性、可微性、可導性、可積性等問題。雖然在具體的計算方式上跟以前的差別不大,但是微積分的這個邏輯基礎已經跟以前發生了翻天覆地的變化,這個差別大家要仔細體會。

 

在魏爾斯特拉斯給出極限的ε-δ定義之後,微積分的邏輯問題基本上解決了,但還有一些其它的問題。比如,有了微積分,數學家們當然就希望儘可能多的函數是可以求出積分的,但是你像來砸場子的狄利克雷函數(x爲有理數的時候值爲1,x爲無理數的時候值爲0)就沒法這樣求積分。

 

不信你想想,一個在有理數爲1,無理數爲0的函數你要怎麼去切塊?它在任何一個地方都是不連續的,你甚至連它的圖像都畫不出來,怎麼用矩形去逼近?所以,這裏就有一個棘手的問題:一個函數到底要滿足什麼條件纔是可以求積分的呢?

 

這個問題一直拖到20世紀初才由大神勒貝格解決。勒貝格把我們常見的長度、面積概念做了一個擴展,得到了更一般的測度的概念。然後,他基於這種測度定義了適用範圍更廣的勒貝格積分,於是,原來無法求積分的狄利克雷函數在勒貝格積分下就可以求積分了。然後,勒貝格基於測度的理論也給出了一個函數是否可積的判斷條件,完美收官!

於是,我們這段跨越兩千多年,從阿基米德到勒貝格的微積分之旅就要告一段落了。

 

23結語

 

古希臘人和古代中國人都知道用已知的多邊形去逼近複雜曲線圖形,阿基米德用窮竭法算出了一些簡單曲線圍成的面積,劉微用正多邊形去逼近圓,也就是用割圓術去計算圓周率。

 

牛頓和萊布尼茨發現了“微分和積分是一對互逆運算”這個驚天大祕密,正式宣告了微積分的誕生。

 

柯西和魏爾斯特拉斯用ε-δ語言重新定義了極限,把風雨飄搖中的微積分重新建立在堅實的極限理論基礎之上,徹底解決了幽靈般的無窮小量的問題,解決了第二次數學危機,也在數學領域解決了芝諾悖論。

 

勒貝格基於集合論,對積分理論進行了一次革命,建立了定義範圍更廣的勒貝格積分,並且進一步把這場革命推進到了實分析。

 

我的文章雖然以勒貝格結尾,但這絲毫不代表微積分在勒貝格這裏就走向了完結,即便這時候已經是20世紀初了。

20世紀60年代初,有一個叫魯濱遜的德國人重新撿起了萊布尼茨的無窮小量。他把實數擴展到非實數,直接把無窮大和無窮小變成了非實數域裏的一個元素。所以他的理論可以直接處理無窮小量,這是第一個嚴格的無窮小理論。

 

我們知道,幽靈般的無窮小量在微積分建立初期掀起了腥風血雨,後來經過柯西和魏爾斯特拉斯的拼命搶救,才終於在堅實的ε-δ極限理論之上重建了微積分。柯西和魏爾斯特拉斯的這一套讓微積分嚴密化的方法被稱爲標準分析。

 

而魯濱遜認爲,無窮小量雖然不嚴謹,但是大家基於無窮小量做的微積分計算卻也都是正確的,這至少表明無窮小量裏應該也包含着某種正確性。ε-δ極限是一種繞彎解決無窮小量不嚴謹的方法,但是這種方法並不是唯一的。魯濱遜選擇直接面對無窮小量,直接建立了另一種讓微積分嚴密化的方法。因此,與柯西和魏爾斯特拉斯的標準分析相對,魯濱遜的這種方法被稱爲非標準分析。

 

 

提出了不完備定理的數學大神哥德爾就對非標準分析推崇備至,他認爲非標準分析將會是未來的數學分析。他說:“在未來的世紀中,將要思量數學史中的一件大事,就是爲什麼在發明微積分300年後,第一個嚴格的無限小理論才發展起來。”

 

我們現在就處在哥德爾說的未來的世紀中,各位看官對這個問題有沒有什麼看法呢?如果我的這篇文章能夠讓大家對微積分,對數學感興趣,進而開始自己獨立的思考這些問題,那就善莫大焉了~

 

此外,我希望長尾科技的這篇文章也能多多少少改變一下大家對數學的看法:數學不等於計算,數學也不等於應用,絕妙而深刻的數學思想(比如發現微分和積分是互逆過程)和嚴密的邏輯(如使用ε-δ定義極限)反而是更重要的。而且,數學的壯觀之美也往往需要站在後面兩個角度上才能體會到,我很難相信有人會覺得重複的做計算是很有趣的,這也是很多人不喜歡數學的原因。

 

但是,我絕對相信那些真正認識了數學的人,他們是發自內心的覺得數學美麗動人。

 

 

並不是那些數學大神們很奇怪,而是他們確實看到了常人沒能看到的絕美風景。

 

‧  END  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章