AnyLogic中如何重置Source、Sink等对象的.count()计数器?
如何重置Source、Sink或其他对象的.count()计数器?
当然可以实现每日统计后重置计数器,以下是两种可靠的方法:
直接重置内置计数器变量
Source、Sink这类内置对象的.count()值对应其内部的counter变量(可通过代码编辑器查看对象源码确认)。你可以在每日结束的触发逻辑中直接赋值重置:// 替换为你的实际对象名称,比如sink1、source1 sink1.counter = 0; source1.counter = 0;自定义计数变量(更稳定)
若担心版本更新导致内部变量变动,可自行维护独立计数:- 在模型中添加
int类型变量(如dailyAgentFlowCount),初始值设为0。 - 在Agent通过目标元素的触发事件(比如Sink的
on enter事件)中,执行dailyAgentFlowCount++;。 - 每日结束时,先读取
dailyAgentFlowCount完成当日统计,再执行dailyAgentFlowCount = 0;完成重置。
- 在模型中添加
注意:重置操作要放在当日统计完成之后执行,比如绑定到每日结束的定时事件中。
内容的提问来源于stack exchange,提问作者Wermut
相关产品推荐
相关产品推荐

