这个Python错误“ValueError:negative number cannot to a fractional power”有错误吗?

2024-10-01 00:15:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我对以下代码有问题:

- 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。在

需要指出的是,计算是一个庞大的计算的一部分,通过牛顿-拉斐逊数值寻根法来确定几个温度,并且只有在多次迭代之后才会出现误差。

有谁能帮我解决这个问题吗。我不知道该怎么办。在


Tags: 代码标题错误单位abspr温度数值
2条回答

我建议使用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)

Python2考虑负数的优先级(它在Python3中解析)。 检查this出,一个类似的问题。在

相关问题 更多 >