許多人可能聽過那個關於2的63次方的故事。
有一個國王與大臣下棋,棋盤上有64個方格。國王與大臣打賭:只要贏了我,滿足你一個要求。最終大臣獲勝,並提出了一個看似非常簡單的要求:
在第1格裡放1粒麥子,在第2格裡放2粒麥子,在第3格裡放4粒麥子,在第4格裡放8粒麥子,依次類推。
起初國王不以為意,最後一算,還不到40個格子,他的國庫就空了。
真是不算不知道,一算嚇一跳,2的63次得多少麥子啊!
下面,我們把它寫成一個函數表達式:
然後繪出它的一段函數曲線,如下圖:
.
如果我們把函數f(x)=2^x的曲線看做一個物體的運動軌跡,分別賦予X軸和Y軸計量單位秒s和米m。我們可以計算得出,它的速度增加得特別快,不到第19s就超光速了。
為什麼它會有如此大的增速呢?
我們來分析一下物體運動的內在驅動。
對函數f(x)=2^x一階求導,可以得到即時速度v,
對函數f(x)=2^x二階求導,可以得到即時加速度a,
我們還可以繼續對它進行三階、四階求導,直至N階求導,得到加速度的加速度、加速度的加速度的加速度,直至第N重加速度
N層加速度的值差不多是相同的,這樣,速度v可以大到無窮了。
停止討論它的速度有多快,我們來描述一下,在一個時間段內,怎麼樣用N重加速度(N階導數)來重塑它的位移公式?
假設,從時間點t開始,到時間點x結束。位移S=f(x)-f(t)。
把位移S分解成N份,得
其中:
S1是t點的初始速度f'(t)完成的,它的微分是f'(t)*△x,我們把△x寫成(x-t)/n。然後,我們要問,S1和f'(t)*(x-t)是否存在線性比例關係呢?我們先假設它們之間是線性比例關係,於是可以得
S2是t點的第一重速度f''(t)產生的速度增量完成的,它的微分是f''(t)*△x^2,同理,得
同理,得
於是,
把f(t)移到等式右側,得
這樣的話,是不是可以把函數f(x)拆解成它在x=t時的N階導數與(x-t)構成的多項式呢?
我們來另起爐灶。設存在一個多項式函數
如果g(x)=f(x),那麼就有
由g(t)=f(t),得
由g'(t)=f'(t),得
所以,
由g''(t)=f''(t),得
所以,
對g(x)逐次求導,可得
這樣,我們就把函數f(x)拆解成在x=t時的n階導數與(x-t)構成的多項式了,得:
泰勒公式
當t=0時,又得
麥克勞林公式
兩式之所以寫成約等於「≈」,是因為右側是一個無窮級數,第n項並不是無窮的終點,還可以有第n+1項及其之後的無窮項。前提是這個無窮級數必須是收斂的,這和最開頭的例子恰恰是相反的。那麼,有n的階乘n!做分母,項數越大,該項的計算結果越小,誤差會非常小,我們就不做討論了。
當把一個函數用麥克勞林公式展開後,我們會發現,如果一個函數的特殊值不好求解,可以把它轉換成一個多項式函數,然後用最基礎的計算方法(加、減、乘、除)就可以了。
例如,我們要計算對數ln2=?(別用計算器啊)
先選擇一個待轉換的基本函數f(x)=lnx。但它一階導 數f'(x)=1/x,當x=0時,就沒有意義了。
那我們換一個函數f(x)=ln(1+x)試一下。當x=0時,f(x)=ln1,還是沒法計算。我們注意到f(x)=ln(1+x)的導數是1/(1+x)。那我們不妨先推導一下它的導函數f(x)=1/(1+x)的麥克勞林展開式。
對於函數f(x)=1/(1+x),它的一階導數到N階導數分別為:
當x=0時,
於是得:
要使多項式是收斂的,那定義域取x∈(-1,1)。
對導函數求積得到原函數,那麼,對導函數的展開式求積,也就得到了原函數的展開式。對上式在區間0到x上逐項求積,得:
然後,我們就得到了:
我們考查一下右側的多項式,第五、六項分別是1/5和-1/6,用這個多項式計算,不僅項數多而且誤差還比較大。
因為式中的x都是指數形式,當取值x<1時,才會項數越多誤差越小。那我們就才轉換一下,把式中的x變成一個小於1的數。
先用-x替換x,重寫一遍ln(1+x)的展開式,得:
那麼,
令(1+x)/(1-x)=2,得x=1/3。
把x=1/3代入最後一個展開式,得:
其中,1/3≈0.33333,(1/3)*(1/3)^3≈0.01235,(1/5)*(1/3)^5≈0.00082,(1/7)*(1/3)^7≈0.00007。
從結果的趨勢看,前四項累加,計算的精度已經足夠高了。
於是得:ln2≈2(0.33333+0.01235+0.00082+0.00007)=0.69314。