【发布时间】:2019-06-15 22:50:28
【问题描述】:
我正在尝试使用以下定义计算高斯函数的值
from math import e
def function(x):
return 100 / (e**((x-2000)**2))**1/16
但是我得到了 20000、30000、1000000 等值的溢出。 你知道解决方法吗 谢谢!
【问题讨论】:
-
e**(500)是1.4035922178528e+217。你怎么可能需要e**(18000),更不用说平方指数和使用更高的指数了? -
想一想 -
x = 20000 => (x-2000)^2 = 324000000然后你计算e^324000000。难怪你会溢出......