我遇到以下代码的问题:
- k_cav*((Tcav*b**3*Pr/((T3+T2)*v**2))**4.42)**0.091/b
它会抛出标题中显示的错误,但我已确保分数幂(0.091)的基数对所有可能的值都是正的。 Tcav = abs(T3-T2), b = 0.01, Pr = 0.72, v = 1.34*10**(-5)
,T3和T2是285左右的开尔文温度。
应该提到的是,计算是巨大计算的一部分,通过Newton-Raphson数值根寻找方法重复几次以确定几个温度,并且错误仅在多次迭代后发生。
任何人都可以帮我解决这个问题。我不知道如何处理它。
答案 0 :(得分:1)
我建议使用try
/ except
来捕获错误,然后打印出变量的值。这样你就可以确定看到罪魁祸首:
try:
computedValue = - k_cav*((Tcav*b**3*Pr/((T3+T2)*v**2))**4.42)**0.091/b
except ValueError:
print k_cav, Tcav, b, Pr, T3, T2, v
raise
doWhateverYouDoWith(computedValue)
答案 1 :(得分:0)
Python 2考虑否定的优先级(在Python 3中解析)。 检查this,类似的问题。