#範例10-7:以泰勒多項式逼近ln(x)函數 #(1)以泰勒級數(參考點x0=1)來表示自然對數函數 ln(x) #因為0不在ln(x)的定義範圍內,所以用x0=1 #En = (x-1) - 1/2*(x-1)**2 + 1/3*(x-1)**3 -1/4*(x-1)**4 from sympy import * x = symbols('x') f = Function('f')(x) # 在sympy裡面,自然對數指令:ln(x) = log(x) f = ln(x) ty1 = series(f, x, x0=1, n=2).removeO() ty2 = series(f, x, x0=1, n=3).removeO() ty3 = series(f, x, x0=1, n=5).removeO() #若是設定n=30,則圖形更為失真,造成全部的圖形都無法顯示出來 #總之,泰勒級數無法逼近ln(x)的指數圖形 #畫圖 p1 = plot(f, ty1, ty2, ty3, (x, -1, 2), show='False') p1[0].line_color= 'red' p1[1].line_color= 'blue' p1[2].line_color= 'green' p1[3].line_color= 'yellow' p1[0].label= '$sin(x)$' p1[1].label= '$taylor(n=23)$' p1[2].label= '$taylor(n=24)$' p1[3].label= '$taylor(n=25)$' p1.legend = True p1.show()