蒙特卡罗模拟浮标的对象不是callab

2024-10-03 09:17:34 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑以下函数,该函数生成大小为n的积分的k Monte Carlo估计:

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\蒙地卡罗.py“,第110行,in 平均值,估计值=指数(100,n) 文件“C:\Users\MM\Desktop\Python\蒙地卡罗.py“,第60行,MCExponencial” 估计.append(平均值) TypeError:“float”对象不可调用

我不知道我做错了什么。你知道吗

Ps:错误发生在“while”迭代中。你知道吗

提前谢谢!你知道吗


Tags: sample函数infor错误rangemathmean
1条回答
网友
1楼 · 发布于 2024-10-03 09:17:34

您重新使用名称mean作为计算结果,替换了同样需要的mean函数。将其中一个命名为其他名称,或者将第二个代码段移到函数中,使其mean不会隐藏全局名称,或者执行其他操作来解决名称冲突。你知道吗

相关问题 更多 >