问题描述
我正在模拟非齐次泊松过程。所以我有一个数字 Q,它从指数分布中减去一个随机数,平均 b=1。当事件发生时。 Lambda 由 Q/((T-t)*b) 定义,其中 T 是时间结束。这是代码。我不明白为什么 Q 不会归零。 200 次中约有 50 次不会归零。
import random
import math
import pandas as pd
import numpy as np
endtime=[]
kolvo=0
Qas=[]
for i in range(2000):
Q=500
T=100
lam=[]
Qm=[]
l=Q/T
t=0
#p=random.random()
#k=-math.log(1.0 - p)/l
pos=[]
last=0
pk=[]
b=1
to=98
while t<T and Q>0:
l=Q/((T-t)*b);
lam.append(l);
Qm.append(Q);
p=random.random()
k=-math.log(1.0 - p)/l
pk.append(k)
if (k<1 and t<to) or (t>=to and k<0.1):
q=np.random.exponential(b);
Q=Q-q;
Qas.append(q);
pos.append(k)
lam.append(l);
Qm.append(Q);
t=t+k
elif t<to:
t=t+1
else:
t=t+0.1
if Q<=0:
endtime.append((t-0.01,Q))
else:
endtime.append((t-0.01,Q))
kolvo+=1
kolvo
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)