Python Tutorials

Part 1. 程式基礎與數學篇

Programming Basics and Math Python

 

Section 4. 泰勒展開與洛比達

 

Section 4. 泰勒展開與洛比達

 

主題一 極限不定型洛比達

關於求極限前面做了介紹,其實,就算是不定型也是一樣用。 以不定型極限 為例, Python程式如下
from sympy import *   #載入模組
x = symbols('x')    #宣告代數符號的變數,須記得此步一定要
limit((1+3*x)**(1/(2*x)), x, 0)
Out[2]: exp(3/2)
exp(3/2)就是

所以,不定型沒有什麼問題,Python都可以處理得很好。學習者可以翻閱任何微積分教本習題自由練習。

主題二 泰勒展開

Python的泰勒展開很簡單 函數.series(x, a, n+1) 就可以,這是「對函數f(x),在x=a 處展開 n 階泰勒多項式」,第n+1項就是泰勒剩餘。

以對自然對數函數 ln(x) 在a=1做3階展開為例。

(log(x)).series(x, 1, 4)
Out[3]: -1 - (x - 1)**2/2 + (x - 1)**3/3 + x + O((x - 1)**4, (x, 1))

結果最後一項O(就是泰勒剩餘)

對自然指數做9階馬克勞林展開(a=0)的Python語法
exp(x).series(x, 0, 10)
Out[4]: 1 + x + x**2/2 + x**3/6 + x**4/24 + x**5/120 + x**6/720 + x**7/5040 + x**8/40320 + x**9/362880 + O(x**10)

承前,我們計算這個展開在x=1的自然指數逼近值,如下
我們先定義一個函數
import math
from sympy import *
def f(x):
        g=exp(x).series(x, 0, 10)
        return g
然後再求
f(1)
Out[5]: E

這個結果以自然指數符號E呈現,要呈現書本的結果,就要去除泰勒剩餘,程式如下:

import math
from sympy import *
def f(x):
        return 1 + x + x**2/2 + x**3/6 + x**4/24 + x**5/120 + x**6/720 + x**7/5040 + x**8/40320 + x**9/362880

然後再求
f(1)
Out[6]: 2.7182815255731922

這樣就是一個實數。 Python此時像一個計算機,可以計算任何的函數。