我在制定限制时遇到了SymPy的问题,该限制必须回答"不存在"正在回归无限的价值。代码部分是这样的:
x = Symbol ('x')
a = Limit ((5-x) / (x-2), x, 2, "+"). doit ()
print (a)
oo
b = Limit ((5-x) / (x-2), x, 2, "-"). doit ()
print (b)
-oo
c = Limit ((5-x) / (x-2), x, 2) .doit ()
print (c)
oo
以下是调查问题,检查应该留下一条消息,因为限制不存在或返回任何等于0的值。
答案 0 :(得分:0)
默认情况下,Limit ((5-x) / (x-2), x, 2)
表示右侧的单边限制,因此c
将始终与示例中的a
相同。
在GitHub上的当前开发版本中,可以传递"+-"
作为方向,如果它们不相同,它将计算两个限制并引发ValueError:
>>> limit((5-x) / (x-2), x, 2, "+-")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ubuntu/sympy/sympy/series/limits.py", line 66, in limit
% (llim, rlim))
ValueError: The limit does not exist since left hand limit = -oo and right hand limit = oo
但你可能只想要一个像
这样的条件if a != b:
print("One-sided limits are different")
elif a.is_infinite:
print("Infinite limit")
# and so on