繁体   English   中英

数学溢出在python中不是很溢出的计算

[英]math overflow for a not very overflowing calculation in python

我得到数学溢出数的计算公式是:

e2 = math.exp([[-20.7313399283991]])

实际上,我完成的极端数量更多,为什么这会导致溢出?

我收到此错误:

OverflowError: math range error

math.exp()对标量进行运算,而不对矩阵进行运算。

您可以像这样使用它,而无需使用方括号:

>>> math.exp(-20.7313399283991)
9.919584164742123e-10

如果需要对矩阵进行操作,则可以使用numpy.exp()

>>> numpy.exp([[-20.7313399283991]])
array([[  9.91958416e-10]])

这将计算逐个元素e**x并返回与输入形状相同的数组。 (请注意,这与矩阵指数不同 ;为此,存在scipy.linalg.expm() 。)

您应该在没有[[]]情况下调用它:

e2 = math.exp(-20.7313399283991)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM