NetLogo中的离散事件调度:在某些特定标记上执行某些命令
我的代码有一个条件:NetLogo中的离散事件调度:在某些特定标记上执行某些命令,netlogo,Netlogo,我的代码有一个条件: if ticks = 10^7 [ do-something ] 现在,这个条件在每个刻度上都会被检查,尽管我确切地知道何时必须执行该命令。这可能会减慢我的代码速度。“按时间:go”命令正是这样做的。我使用的时间扩展命令是: time:schedule-event patches task do-something 1000000 但这是一个错误: Extension exception: Attempted to schedule an event
if ticks = 10^7 [ do-something ]
现在,这个条件在每个刻度上都会被检查,尽管我确切地知道何时必须执行该命令。这可能会减慢我的代码速度。“按时间:go”命令正是这样做的。我使用的时间扩展命令是:
time:schedule-event patches task do-something 1000000
但这是一个错误:
Extension exception: Attempted to schedule an event for tick 999999.0 which is before the present 'moment' of 1000000.0
error while observer running TIME:SCHEDULE-EVENT
called by procedure GO
called by Button 'go'
我有什么遗漏吗?或者有没有其他有效的方法可以在特定的时间点安排某个事件,而不必检查每个时间点的时间点状况 如果这看起来像是时间延长中的错误,请将其发布到 告诉我们在哪里可以找到你的代码。 (或者发电子邮件给我。)
Steve R.不确定您的
time
扩展命令发生了什么(我想我们需要查看更多的代码来调试它),但有一件事我可以告诉您:如果ticks=10^7[做点什么]这样的命令,不要担心性能成本。它基本上是即时的。如果你担心你的模型的性能,使用扩展;它会告诉你真正的瓶颈在哪里。