Google Colab中NumPy幂运算RuntimeWarning问题求助
NumPy幂运算RuntimeWarning问题求助
运行代码时出现如下警告:
<ipython-input-23-1d1d2f123229>:47: RuntimeWarning: invalid value encountered in power f2 = lambda x: 2 * x * np.log(10) - C + (a* (((X1 - x))**(3.24)))
我在Google Colab中工作时遇到这个问题,已经尝试过用np.pow替代**、对底数取绝对值等方法,但警告依然存在。
我的代码片段如下:
C = 3.20 #from LEO textbook a = 0.1610 m = 3.24 X1 = 2.49 X0 = 0.1464 delta0 = 0.14 X = lambda p: np.log10(beta_gamma(p)) f2 = lambda x: 2 * x * np.log(10) - C + (a* (((X1 - x))**(3.24))) #f2 = lambda x: 2 * x * np.log(10) - C + (a * np.real((X1 - x) ** 3.25)) f3 = lambda x: 2 * x * np.log(10) + C delta_full = lambda x: np.piecewise(x, [x < X0 , x >= X0], [f1, f2]) ... ps = np.logspace(2, 8, 10000) # MeV for pi in range(0, len(ps)): ... beta_gammas[pi] = beta_gamma(ps[pi]) density_correction[pi] = delta_full(ps[pi]) ...
希望能得到帮助解决这个问题。
编辑1
进一步排查后发现错误主要出在以下代码行:
delta_full = lambda x: np.piecewise(x, [x < X0 , x >= X0], [f1, f2])
原本以为是复数导致的问题,但x小于X0时代码能正常运行,补充以上信息供参考。
内容的提问来源于stack exchange,提问作者Some_user
相关产品推荐
相关产品推荐

