为什么我的泰勒级数在函数中添加了一个 x?

问题描述

我正在尝试编写一个程序来计算泰勒级数,我的微积分教授向我推荐了一个很好的练习,但遇到了一些错误。当我手动计算 ln(x) 时,我得到 (1(x-1)/1)-(1(x-1)^2/2)+((x-1)^3/3)-((x-1)^4/4)。从 SymPy 程序我得到 x - (x - 1)**4/4 + (x - 1)**3/3 - (x - 1)**2/2 - 1

另外,有没有办法让它能够找到模式并制作通用系列,手动计算为((-1)^n*(x-1)^n+1)/(n+1)

解决方法

SymPy 根据自己的规则重新排列表达式的术语。如有疑问,请查看每个表达式或手动测试是否容易出现视觉错误:

>>> from sympy.abc import x
>>> from sympy.parsing.mathematica import mathematica as P
>>> P(' (1(x-1)/1)-(1(x-1)^2/2!)+((x-1)^3/3)-((x-1)^4/4)')
x - (x - 1)**4/4 + (x - 1)**3/3 - (x - 1)**2/2 - 1
>>> hand = _
>>> res = x - (x - 1)**4/4 + (x - 1)**3/3 - (x - 1)**2/2 - 1
>>> hand == res
True

你从 SymPy 得到的东西和你手工得到的一样! :-)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...