我试图将正弦函数实现为泰勒级数近似。用Taylor级数近似形式不能得到合理的结果。我不明白为什么。
结果是:
我的Python代码如下:
import numpy as np
import matplotlib.pyplot as plt
import functools
f_reduce = functools.reduce
pow = np.power
from math import factorial
def f(t):
return 2*t + np.pi / 2
# sine function in Taylor series form
def t_sin(t):
def inner(n):
return pow(-1, n) * pow(t, 2*n + 1) / factorial(2*n + 1)
return f_reduce( lambda x,y: x + y, [ inner(step) for step in range(80) ] )
time = np.arange(-10*np.pi, 10 * np.pi, 0.1)
# x = np.sin(f(time))
x = t_sin(f(time))
plt.plot(time, x)
plt.show()
我的密码怎么了?我遗漏了什么吗?