我正在尝试运行标准的基于SIR代理的模型,其中代理从“易感”转变为“感染”,从“感染”转变为“恢复” . 我现在对计算瞬时发生率,即在给定时间t从“易感”状态转变为“感染”状态的药剂数量感兴趣 .
例如:在第1天(模型时间),2个代理从'易感'过渡到'感染'在第2天(模型时间),5个代理从'易感'过渡到'感染'在第3天(模型时间),7代理人从'易感'转变为'感染' . . .
我能够得到'感染'代理的总数,但我有兴趣知道每个时间步的这个值 . 我正在寻找一个函数,累计累计每个时间步的新感染数 .
有关如何在AnyLogic中执行此操作的任何想法都会非常有用 . 谢谢 .
2 回答
这是一个截图,你需要选择"Other"作为键来手动输入维度"Date()":
我建议您在Main
col_Counter
上创建一个集合,其中键是日期,值是感染数量 . 然后在代理中创建一个名为e_Counting
的定期事件,从模型开始开始,每24小时重复一次 . 在动作中写道:main.col_Counter.add(date(), v_countsToday);
v_countsToday=0;
还要在代理中将
v_countsToday
创建为整数变量 . 每当感染发生时添加1 .还有很多其他方法,但这会有效 .
干杯