如何在python中分离指数函数
我试图在python中分离指数函数如何在python中分离指数函数,python,python-3.x,sympy,Python,Python 3.x,Sympy,我试图在python中分离指数函数 import sympy as sym from sympy.abc import t from sympy import exp u = (3*(exp(4*t) - 1)*exp(-4*t))/4 apart = sym.apart(u, t) print(apart) 但我得到了一个错误: exp(4*t)包含生成器集的一个元素 看起来exp()把它弄糊涂了。为了解决问题 import sympy as sym from sympy.abc impo
import sympy as sym
from sympy.abc import t
from sympy import exp
u = (3*(exp(4*t) - 1)*exp(-4*t))/4
apart = sym.apart(u, t)
print(apart)
但我得到了一个错误:
exp(4*t)包含生成器集的一个元素
看起来exp()把它弄糊涂了。为了解决问题
import sympy as sym
from sympy.abc import t,z
from sympy import exp
u = (3*(exp(4*t) - 1)*exp(-4*t))/4
expr = sym.apart(u.subs(exp(t),z), z)
expr = expr.subs(z,exp(t))
给
Out[3]: 3/4 - 3*exp(-4*t)/4
使用conda上的3.7,您的表达式是一个单变量有理函数,表示exp(t): 但是Symphy可以处理这样的非符号生成器,因此对于这样一个表达式,
sym.apart(u)
将给出与上面所示相同的结果。当您说生成器是t
时,它检测到exp(t)
并引发了错误,因为像t+exp(t)
这样的表达式有两个依赖于t
的生成器
>>> u.subs(exp(t),y)
3*(y**4 - 1)/(4*y**4)
>>> apart(_)
3/4 - 3/(4*y**4)
>>> _.subs(y, exp(t))
3/4 - 3*exp(-4*t)/4