【发布时间】:2020-08-13 05:00:24
【问题描述】:
我有以下简单的医院模型HospitalModel。我正在尝试在模拟结束时为我的模型生成输出统计信息,例如护士看到的患者的百分比。我首先尝试使用值为nurseService.count()/patientArrival.count() 的输出“模拟结束”统计数据,因为我试图在不生成新变量的情况下计算该值,但我意识到这个表达式在模拟结束时给出了0。然后我尝试生成一个变量 porcentageNurse 并使用表达式nurseService.count()/patientArrival.count() 每隔一小时用一个事件更新它,但我再次意识到从未计算过计算。
- 为什么 Anylogic 不计算这个操作?
后来我意识到一种使它起作用的方法是首先计算nurseService.count()并将其值保存到变量'a'中,然后使用表达式:a/patientArrival.count()。如果您使用事件更新变量,则此方法有效,但在输出统计情况下,局部变量无法在值字段中定义,因此无法直接完成。
- 有什么方法可以在不创建附加变量的情况下输出患者百分比等统计数据?
最后,我意识到,除了输出统计信息之外,我找不到在模拟结束时运行代码(或在模拟结束时生成统计信息)的方法。模拟实验的java动作中有一个“模拟运行后”部分,但该部分似乎与main没有连接。
-
如何将此部分连接到主要部分?或者哪一种是在模拟结束时运行代码的正确方法?有没有办法在没有输出统计信息的情况下在模拟结束时生成统计信息?
-
是否有调用模拟结束时间的表达式?
感谢您的帮助。
【问题讨论】:
标签: anylogic