首页 > 解决方案 > 如何在 Sympy 中定义符号之间的关系条件

问题描述

我想计算exp((a-b)*x)函数x趋于无穷大的极限,其中符号 a 和 b 被定义为实数和正数:

a = Symbol('a', real=True, positive=True)
b = Symbol('b', real=True, positive=True)

但是,限制取决于差异a-b。如果a<b,则极限为零。如果a=b,则极限为 1。如果a>b,则极限为无穷大。如何设置这些条件?

标签: pythonsympy

解决方案


然后让我们d = a - b定义一个带有不同条件限制的分段:

>>> oolim = lambda A: limit(exp(A*x),x,oo)
>>> f = Piecewise((oolim(d), a>b), (oolim(0), Eq(a,b)), (oolim(-d),True)); f
Piecewise((oo, a > b), (1, Eq(a, b)), (0, True))

您可以将值替换为a和/或b进入f,表达式将评估/更新:

>>> f.subs({a:3, b:5})
0

推荐阅读