我试图运行一个标准的基于代理的SIR模型,在这个模型中,代理从“易受感染的”过渡到“受感染的”,从“感染的”过渡到“恢复的”。我现在感兴趣的是计算瞬时发病率,即在给定时间t内从“易受感染”状态过渡到“受感染”状态的代理的数量。
例如:第1天(模型时间),2种药物在第2天(模型时间)从“易感”过渡到“感染”,5种药物在第3天从“易感”过渡到“感染”(模型时间),7种药物从“易感”过渡到“感染”。。。
我能够得到“受感染”代理的总数,但我感兴趣的是了解每个时间步骤的这个值。我想写一个函数,累积起来每一次新感染的数量。
任何关于如何在AnyLogic中这样做的想法都是非常有用的。谢谢。
发布于 2017-11-10 19:28:09
下面是一个屏幕截图,您需要为键选择"Other“来手动键入维度"Date()":

发布于 2017-11-09 21:45:17
我建议您在主col_Counter上创建一个类型的集合,其中键是日期,值是感染的数量。然后在代理中创建一个名为e_Counting的循环事件,从模型开始开始,每24小时重复一次。在行动中写:
main.col_Counter.add(date(), v_countsToday);
v_countsToday=0;
还将v_countsToday创建为代理中的整数变量。每当感染发生时添加+1。
还有很多其他的方法,但这是可行的。
干杯
https://stackoverflow.com/questions/47207121
复制相似问题