我有一个问题,我在哪里必须生成一个函数来镜像给定的数学函数:Probability = e^beta / 1 + e^beta
。到目前为止,我生成的代码在输入整数时可以正常工作,但是我需要使用该函数来计算数组的概率。
到目前为止,我的代码:
import math
e = math.e
def likelihood(beta):
for i in range(beta):
return (e**(beta)/(1+ e**(beta)))
beta_candidate = np.random.uniform(-5, 5, 50)
likelihood_candidate = likelihood(beta_candidate)
每当我运行代码时,都会遇到一条错误消息,指出:只有整数标量数组才能转换为标量索引。
最佳答案
In [3]: import math
In [4]: e = math.e
In [5]: def likelihood(beta):
...: return [e**i/(1+e**i) for i in beta]
...:
In [7]: likelihood_candidate = likelihood(beta_candidate)
由于您将beta_candidate作为numpy数组,因此可以执行矢量化numpy操作:
l = np.exp(beta_candidate)/(1+np.exp(beta_candidate))
关于python - 用Python解释数学函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59149757/