Python中的正弦函数作为泰勒级数逼近

问题描述 投票:0回答:1

我试图将正弦函数实现为泰勒级数近似。泰勒级数近似形式无法得到合理的结果。我不明白为什么。

结果是:sine with Taylor Series Approximation

我的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()

我的代码出了什么问题?我错过了什么吗?

python numpy sine taylor-series
1个回答
0
投票

感谢@mkrieger,功能没有问题,但范围非常愚蠢。现在,它实际上看起来像这样:

enter image description here

谢谢@mkrieger! :))

© www.soinside.com 2019 - 2024. All rights reserved.