2 回答
TA貢獻(xiàn)1851條經(jīng)驗 獲得超4個贊
您應(yīng)該修改x >= lower and x <= upper為(x >= lower) & (x <= upper). 問題在于 SymPy 對象的邏輯評估可能會返回另一個符號邏輯,該邏輯不能被推斷為 True 或 False。您可以看到如何(x >= lower).__class__返回另一個 sympy 不等式實例。
TA貢獻(xiàn)1825條經(jīng)驗 獲得超6個贊
更正邏輯表達(dá)式后,出現(xiàn)“ TypeError: 'Symbol' object is not subscriptable ”錯誤。經(jīng)過一些研究,我了解到繪圖方法可以與分段方法一起使用,如下所示。就是這樣。
代碼的更正版本:
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")
添加回答
舉報
