时间刻度混乱(NetLogo)

时间刻度混乱(NetLogo),netlogo,Netlogo,我已经为NetLogo中的模型编写了一个简单的代码。同时,通过文献中的常微分方程对该模型进行了很好的研究。现在我想比较一下NetLogo和Matlab用于求解微分方程的模型图。我在NetLogo中使用了ticks命令来增加时间,其中Matlab使用的是以秒为单位的时间。为了比较NetLogo和Matlab获得的图,我应该记住什么样的预防措施更改。通常,NetLogo图的刻度轴应该是Matlab图的时间轴的某个常数标量。在模拟中,该标量通常被称为dt或步长:每刻度的时间。如果您只是使用NetLog

我已经为NetLogo中的模型编写了一个简单的代码。同时,通过文献中的常微分方程对该模型进行了很好的研究。现在我想比较一下NetLogo和Matlab用于求解微分方程的模型图。我在NetLogo中使用了ticks命令来增加时间,其中Matlab使用的是以秒为单位的时间。为了比较NetLogo和Matlab获得的图,我应该记住什么样的预防措施更改。

通常,NetLogo图的刻度轴应该是Matlab图的时间轴的某个常数标量。在模拟中,该标量通常被称为dt或步长:每刻度的时间。如果您只是使用NetLogo对不推荐的微分方程进行数值求解(尽管可能),您可能会显式地将其设置为与在MatLab中进行数值求解时相同的值。然而,在大多数NetLogo模型中,步长是隐含的

与模型中的步长相对应的一些常见参数:

代理速度 增长率或衰退率 扩散速率 因此,例如,如果我们对限速为100 kph=100000 m/60 min*60 sec=27.8 m/s的街道上的交通进行建模,我们的补丁大小等于1 m,我们的代理每滴答最多移动0.5次,那么我们有:

27.8 m/s = (0.5 patches/tick) * (1 m/patches)  / (step-size s/tick) = (0.5 m/tick) / (step-size s/tick)

step-size s/tick = (0.5 m/tick) / (27.8 m/s) = 0.018 s/tick
所以,在这种情况下,每个滴答声大约是0.018秒

基本上,您应该尝试在模型中找到一些与微分方程中每秒参数相对应的每刻度参数。然后,您应该能够通过比较这些参数来确定每个刻度有多少秒

或者,你可以通过比较图来作弊,看看它们是如何排列的,然后像那样确定步长。然后,您可以反向计算模型中的哪些参数决定步长。

相关: