如何解决关于在python中使用Gillespie算法的问题
我正在研究一个考虑两个事件(W
、M
)的问题,并尝试使用 Gillespie 计算从 W
到 M
的时间衰减。这是问题的图示。
RMW = 1
RWM = 0.35
t = []
for i in range (0,10000):
if (i%2) == 0: #W present
tM = 0
dt = expon.rvs(RWM,size=1)
tM += dt
else:
tW = 0
dt = expon.rvs(RMW,size=1)
tW += dt
t.append(dt)
现在我要处理一个更复杂的问题,其中有三个事件(W
、M1
和 M2
)。费率也不同,如 RWM1=0.35
和 RWM2=0.1
。这是图示。
现在我无法理解我应该从哪里开始。如果有人可以根据之前的代码给我一些建议来解决此类问题,那将非常有帮助。
解决方法
如果 dt
的值应该如您所说的那样相加,这是否可能解决您的问题?
RMW = 1
RWM = 0.35
t = []
for i in range (0,10000):
if (i%2) == 0: #W present
tM = 0
dt = expon.rvs(WM1,size=1)
dt += expon.rvs(WM1_M2M1,size=1)
tM += dt
else:
tW = 0
dt = expon.rvs(M2M,size=1)
dt += expon.rvs(M2M_M2M1,size=1)
tW += dt
t.append(dt)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。