Math 如何截断幂级数并将其转换为多项式?

Math 如何截断幂级数并将其转换为多项式?,math,sympy,Math,Sympy,我想截断辛中的幂级数,并将结果用作多项式。我现在所做的有点难看(例如4级): 有更好的办法吗?你的意思是这样的吗 In [1]: f = sin(x) In [2]: s = series(f, x, 0, 5) In [3]: s Out[3]: 3 x / 5\ x - -- + O\x / 6 In [4]: s.removeO() Out[4]: 3 x - -- + x 6

我想截断辛中的幂级数,并将结果用作多项式。我现在所做的有点难看(例如4级):


有更好的办法吗?

你的意思是这样的吗

In [1]: f = sin(x)

In [2]: s = series(f, x, 0, 5)

In [3]: s
Out[3]: 
     3        
    x     / 5\
x - -- + O\x /
    6         

In [4]: s.removeO()
Out[4]: 
   3    
  x     
- -- + x
  6     
这些步骤很简单

如果改为使用.lseries(),则可以执行以下操作:

In [5]: import itertools  

In [6]: Add(*itertools.islice(f.lseries(), 5))
Out[6]: 
   9       7      5    3    
  x       x      x    x     
------ - ---- + --- - -- + x
362880   5040   120   6    

说明:islice从生成器中选取5个元素,作为参数传递给Add类,该类管理Symphy的添加。

谢谢!removeO和islice,我都不知道,都非常有用!
In [5]: import itertools  

In [6]: Add(*itertools.islice(f.lseries(), 5))
Out[6]: 
   9       7      5    3    
  x       x      x    x     
------ - ---- + --- - -- + x
362880   5040   120   6