繁体   English   中英

如何在python中分离指数函数

[英]How to apart Exponential function in python

我正在尝试在 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 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) 而言,您的表达式是一个单变量、有理函数:

>>> 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

但是 SymPy 可以处理这样的非符号生成器,因此对于这样的表达式sym.apart(u)会给出与上图相同的结果。 当您说生成器是t它检测到exp(t)并引发错误,因为像t + exp(t)这样的表达式有两个依赖于t生成器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM