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此時像一個計算機,可以計算任何的函數。