Python 如何用sympy生成x的正弦泰勒级数
我正在使用Python为Python 如何用sympy生成x的正弦泰勒级数,python,sympy,trigonometry,taylor-series,Python,Sympy,Trigonometry,Taylor Series,我正在使用Python为sinx 下面是sin(x)的泰勒级数。参考文献 接下来,我应该如何编写python代码来创建泰勒级数表达式 代码: import sympy as sym import math x = sym.symbols('x') # Technique 1: Compute the 5 first terms in a Taylor series for sin(x) around x = 0. T_sin5 = 1 - (x**3/math.factorial(3))
sinx
下面是sin(x)的泰勒级数。参考文献
接下来,我应该如何编写python代码来创建泰勒级数表达式
代码:
import sympy as sym
import math
x = sym.symbols('x')
# Technique 1: Compute the 5 first terms in a Taylor series for sin(x) around x = 0.
T_sin5 = 1 - (x**3/math.factorial(3)) + (x**5/math.factorial(5)) - (x**7/math.factorial(7)) + (x**9/math.factorial(9))
print(T_sin5)
# Technique 2: Compute the 5 first terms in a Taylor series for sin(x) around x = 0 using sympy
T_sin5_2 = sym.sin(x).series(x, 0, 5).removeO()
print(T_sin5_2)
问题:正如您在上面看到的,我用手写的方式制作了
T\u sin5
,而T\u sin5\u 2
是用sympy
制作的。所以,我的问题是:技术1和技术2是一样的吗?T\u sin5
和T\u sin5\u 2
相同
print(T\u sin5)
和print(T\u sin5\u 2)
似乎都能打印出该系列的一半,如下所示:
-x**3/6+x
我希望这两个印刷品都能为塔洛系列的前5个术语精雕细琢,如下所示
1-x3/6+x5/120-x7/5040+x9/362880
为什么不打印(T\u sin5\u 2)
像上面那样打印泰勒级数的5项
Python版本:我的python版本是3.8.6的
n
参数
序列要扩展到的项数
这包括零项(对于sin(x)
,每隔一秒就出现一个零项)。也就是说,n-1
是序列中的最大幂,因此对于序列(x,0,5)
这恰好是4
,对于该幂,系数为零
对于您的自定义版本,虽然它应该打印完整系列(这是我得到的输出):
啊,对。自定义版本打印我添加的所有5个术语。当时我的问题有点不对劲。我会改正的。
>>> print(T_sin5)
x**9/362880 - x**7/5040 + x**5/120 - x**3/6 + 1