1. 程式人生 > >用Python學《微積分B》(Taylor公式與曲線擬合)

用Python學《微積分B》(Taylor公式與曲線擬合)

    Taylor公式是微分學部分集大成者,可以說,只有理解了Taylor公式,才能真正感受到微分學方法的神奇與強大。本文主要根據扈志明老師的《微積分B》課程的內容,總結我對Taylor公式的理解。此外,也應用Python求解該部分的課後習題。

注:sympy中對高階無窮小取樣的是“Big O notation”(大O標記法);而扈志明老師的《微積分B》課程採用的是“Little O notation”(小o標記法),兩者是有差別的。我一開始沒注意到這個差別,後面在用python做題時發現了,但是鑑於公式較多,就不一一修改了,特此宣告。關於這兩者的區別,請看:

       https://stackoverflow.com/questions/1364444/difference-between-big-o-and-little-o-notation

一、Taylor公式的聯想

1,Taylor series of degree n about a

    

    

    這個公式是對f(x)在a處的近似。

2,Taylor's Theorem

    

    其中,餘項(誤差)滿足:

    

    嚴格的證明推導過程可以去看教科書,或者wiki。我在此只是結合微分學部分前面所學的知識,來一步步聯想一下Taylor公式。

1)若函式f(x)在x0處連續,則根據連續的定義

        

根據極限的定義,有

    

    其中,表示同階無窮小

2)若函式f(x)在x0附近可導(可微分),則根據微分的定義

    

    

    


    其中,表示高階無窮小

3)類似地,若函式f(x)在x0附近n階可導(可微分),假設可以找到一個關於(x - x0)的n次多項式使得:  

    

下面來求係數:    

對上式兩邊取極限,

    

可得,

代入原式,移項得

    

然後再兩邊取極限,應用洛必達法則求出極限,

得到 

同理,可以求出其餘的係數C。

此時,再回過頭來看,

    

完成了形式上的統一。

二、曲線擬合

1,一個例子

    下面來看一下使用Taylor公式對曲線 f(x) = sin(x) 在 x = 0 附近的近似

    

如上圖所示,隨著階數的升高,Taylor公式的吻合原曲線的範圍越大。

    可能又人會問,既然已經知道了原函式表示式,為什麼還要這麼一個近似?或者說Taylor公式有什麼用?

    從上面這個例子就能很好的回答這個問題,這個近似的作用是:方便數值計算。具體來說:

    雖然已知 f(x) = sin(x),但要想求f(1)、f(2.3)、f(5.7),依然很棘手。有了Taylor公式,就可以把這類棘手的問題轉變為多項式計算,而且可以根據需要的精度進行相應的近似,是不是很神奇?

    Taylor公式提供了這樣一種數值計算的方法:從一個特殊點估算它附近的點的值。而且這個“附近”的範圍可以不斷擴大。

2, Taylor公式的唯一性

    當階數n確定後,Taylor公式是唯一一個能夠足夠接近原函式(誤差為)的n次多項式。可以用“反證法”證明,過程有點複雜,可以自行google。

3,曲線擬合

    前面說的是已知原函式,求近似多項式。事實上,根據Taylor公式我們知道:只要原函式有n階導數,它就可以用Taylor公式來近似。那麼,即使我們不知道原函式,而僅僅是知道一些點,我們也可以用n次多項式來近似這些點所代表的函式,這就是“曲線擬合”。這裡不是很嚴格,它需要假設被擬合的函式有n階導數。

    這麼說了,曲線擬合就變成了根據已知點求n次多項式的係數的問題啦。當然,已知點的數量不同,能夠擬合的多項式的冪級也同。比如,只有兩點,則只能擬合成直線;若有三點,可以擬合成拋物線。。。

三、Taylor公式的應用

    之所以說“Taylor公式是微分學的集大成者”,是因為它幾乎可以做所有微分學的運算,包括:求極限(PK 洛必達法則)、求高階導數、判斷函式的階(無窮小比較)、近似計算、分析函式的性質、曲線擬合等。簡直要通吃一切微分學方法。

1,五個簡單函式的Maclaurin公式

    當然,要用好Taylor公式,有五個特殊的Taylor公式(Maclaurin公式)需要了解:

特別地:



注:以上的“Big O”都是“Little o”。

四、課後習題

附:

1)wiki - Taylor theorem

https://en.wikipedia.org/wiki/Taylor%27s_theorem

2)常用Maclaurin級數

http://mathworld.wolfram.com/MaclaurinSeries.html

3)描述和證明

https://www.math.hmc.edu/calculus/tutorials/taylors_thm/taylors_thm.pdf

http://125.71.228.222/wlxt/ncourse/wjf1/web/website/website01/43/p43_148.htm.files/20140911211015.pdf

4)通俗解釋

https://www.zhihu.com/question/21149770