我想用sympy的solve命令解決方程式,但是我的輸出是一個空列表[]。我認爲這可能發生的唯一原因是因爲沒有解決辦法,但我懷疑這是原因。任何人都知道我爲什麼沒有得到答案?謝謝!爲什麼我使用solve命令獲取空列表作爲我的輸出?
from sympy import *
class WaterModel:
def fp_requirement(self, Ws0, Wp0, Wg0):
greyW = 60.0
potW = 126.0
rainW = 17.05
self.Ws0 = Ws0
self.Wp0 = Wp0
self.Wg0 = Wg0
self.fp = var('fp')
filt_greyW = self.fp*greyW
dWg = self.Wg0 - greyW + (1 - self.fp)*greyW + rainW
dWp = self.Wp0 - potW + filt_greyW
F = self.Ws0 + dWp + dWg
self.fp = solve(F,self.fp)
return self.fp
a = WaterModel()
fp = a.fp_requirement(1500, 100, 100)
print(fp)
太棒了!我很好奇爲什麼我的方程F是一個常數而不是fW的函數,因爲dWg和dWp是。 –
我不是一個** sympy **用戶......但是,我的猜測是sympy對象上的「+」運算符是* evaluate-and-add *,而不是您期望的字符串連接。 – Prune
這些計算都是以符號方式完成的 - 請注意「dWg」和「dWp」在其中有一個「fp」項。但是,請注意這些「fp」術語彼此是否定的。 'fp'取消! – user2357112