gpt4 book ai didi

python - 蒙特卡洛模拟- float 对象不可调用

转载 作者:行者123 更新时间:2023-12-03 08:05:32 26 4
gpt4 key购买 nike

考虑以下函数,该函数为大小为n的积分生成k个蒙特卡洛估计:

def MCExponencial(k, n):

sample=[]
values=[]
estimative=[]
for j in range(k):
sample = [geradorExponencial(L, e1, e2) for i in range(n)]
values=[(math.exp(-L*e1) - math.exp(-L*e2)) * f(sample[i], a1, a2, a3, b1, b2, b3, c)/func_exponencial(sample[i], L) for i in range(n)]
estimative.append(mean(values))

return mean(estimativa), estimative


在我的程序中

n=10

mean, estimative = MCExponencial(100, n)

while p < 1/math.sqrt(100) * standardDeviation(estimative, mean):

    n = n+10
mean, estimative = MCExponencial(100, n)


但我收到以下错误:

追溯(最近一次通话):
文件“C:\ Users \ MM \ Desktop \ Python \ MonteCarlo.py”,第110行,在
均值,估计值= MCExponencial(100,n)
MCExponencial中的文件“C:\ Users \ MM \ Desktop \ Python \ MonteCarlo.py”,第60行
estimative.append(平均值(值))
TypeError:“float”对象不可调用

我不知道我在做什么错。

ps:错误发生在“while”迭代中。

提前致谢!

最佳答案

您将名称mean重用于计算结果,替换了您还需要的mean函数。用其他方式命名其中之一,或将第二个代码片段移至函数中,以使其mean不会隐藏全局变量,或执行其他操作来解决名称冲突。

关于python - 蒙特卡洛模拟- float 对象不可调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23527013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com