0

我正在尝试运行基于 SIR 代理的标准模型,其中代理从“易感”过渡到“感染”,从“感染”过渡到“已恢复”。我现在对计算瞬时发生率感兴趣,即在给定时间 t 从“易感”状态转变为“感染”状态的代理数量。

例如:在第 1 天(模型时间),2 个代理从“易感”转变为“感染”在第 2 天(模型时间),5 个代理从“易感”转变为“感染”在第 3 天(模型时间),7 个代理从“易感”转变为“感染”。. .

我能够获得“受感染”代理的总数,但我有兴趣了解每个时间步的这个值。我正在寻找一个函数来累积每个时间步的新感染数量。

关于如何在 AnyLogic 中执行此操作的任何想法都会非常有帮助。谢谢。

4

2 回答 2

0

我建议您在 Maincol_Counter类型上创建一个集合,其中键是日期,值是感染数。然后在代理中创建一个重复事件,称为e_Counting从模型开始开始并每 24 小时重复一次。在动作中写:

main.col_Counter.add(date(), v_countsToday);

v_countsToday=0;

还要v_countsToday在代理中创建一个整数变量。每当发生感染时添加+1。

还有许多其他方法,但这会起作用。

干杯

于 2017-11-09T21:45:17.690 回答
0

这是一个屏幕截图,您需要选择“Other”作为键来手动输入维度“Date()”: 在此处输入图像描述

于 2017-11-10T19:28:09.603 回答