Python TypeError:在分段使用sympy时无法确定关系的真值

Python TypeError:在分段使用sympy时无法确定关系的真值,python,piecewise,uniform-distribution,Python,Piecewise,Uniform Distribution,在我的研究中,我在分段函数中找不到任何与关系值相关的例子。虽然我用uni_dis方法接收到了上下两个值,但我一直在将这些值转移到分段函数的过程中。原因是什么 from sympy import Symbol, Piecewise import sympy as sym import sympy.plotting as syp import math a = Symbol('a') b = Symbol('b') x = Symbol('x') function = 1 / abs(a-b)

在我的研究中,我在分段函数中找不到任何与关系值相关的例子。虽然我用uni_dis方法接收到了上下两个值,但我一直在将这些值转移到分段函数的过程中。原因是什么

from sympy import Symbol, Piecewise
import sympy as sym
import sympy.plotting as syp
import math

a = Symbol('a')
b = Symbol('b')
x = Symbol('x')
function = 1 / abs(a-b)

def uni_dis(lower, upper):
    if lower > upper:
        lower, upper = upper, lower
    uniform = Piecewise((0, x < lower), (0, x > upper), (function.subs({a:lower, b:upper}), x >= lower and x <= upper))
    syp.plot(uniform.subs((x,-10,10), title="uni_dis"))

uni_dis(231, 675)
从sympy导入符号,分段
将sympy作为sym导入
将symphy.plotting导入为syp
输入数学
a=符号('a')
b=符号('b')
x=符号('x')
功能=1/abs(a-b)
def UNIU dis(下部、上部):
如果较低>较高:
下,上=上,下
一致=分段((0,xupper),(function.subs({a:lower,b:upper}),x>=lower和x1uni_dis(231675)
在uni_dis(下部、上部)
2如果下部>上部:
3下,上=上,下
---->4统一=分段((0,xupper),(function.subs({a:lower,b:upper}),x>=lower和x376 raise TypeError(“无法确定关系的真值”)
377
378 uuuuu bool uuuuuuu=uuuuuu非零__
TypeError:无法确定关系类型的真值

您应该修改
x>=lower和x=lower)&(x=lower)。\uuuuu class\uuuuuuuuu
返回另一个sympy不等式实例。

在更正逻辑表达式后,我得到一个“TypeError:'Symbol'对象不可下标”错误。在做了一些研究之后,我了解到绘图法可以和分段法一起使用。就是这样

代码的更正版本:

def uniform_dist(lower, upper):
    if lower > upper:
        lower, upper = upper, lower
    syp.plot(Piecewise((0, x < lower), (0, x > upper), (f.subs({a:lower, b:upper}), (x >= lower) & (x <= upper))), (x,-10,10), title="uniform distribution")
def均匀距离(下、上):
如果较低>较高:
下,上=上,下
同步图(分段((0,xupper),(f.subs({a:lower,b:upper}),(x>=lower)和(x
def uniform_dist(lower, upper):
    if lower > upper:
        lower, upper = upper, lower
    syp.plot(Piecewise((0, x < lower), (0, x > upper), (f.subs({a:lower, b:upper}), (x >= lower) & (x <= upper))), (x,-10,10), title="uniform distribution")