【发布时间】:2021-09-25 02:17:22
【问题描述】:
我有很多不同的表达方式,我想用 sympy 来简化。一个非常简单的例子是
form sympy import *
k=Symbol('k',integer=True,nonnegative=True)
term=( 1-exp(-j*2*pi*k) )/(1-exp(-j*2*pi*k/5) )
结果我得到 term=0,但我希望 k=0 时 term=5,在所有其他情况下 term 为零。有没有一种简单的方法来简化 k=0 和 k!=0
【问题讨论】:
-
对于 k=0,你的表达式是
0/0所以未定义。 -
是的,但是 sympy 返回零,所以未定义的属性消失了。
-
问题是“我希望 k=0 的 term=5”,但是你有一个
0/0。也许这是你感兴趣的极限。 -
感谢您的 cmets。在最后一步中,我有兴趣获得限制,但在第一步中,我想知道是否有一种通用方法可以以某种方式检测表达式未定义的 k 值。因为 k 是非负 term=0,所以 k>0 将是一个很好的结果。我只是想将我明确定义的“所有”k 值设为零。
-
如果您不对
k使用假设,那么您将得到一个可以分为分子和分母的表达式,然后您可以分别检查其中一个为零的条件。