首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时间尺度混淆(NetLogo)

时间尺度混淆(NetLogo)
EN

Stack Overflow用户
提问于 2014-09-02 08:36:02
回答 1查看 261关注 0票数 2

我在NetLogo中为一个模型编写了一个简单的代码。同时,通过文献中的常微分方程对模型进行了深入的研究。现在我想比较一下NetLogo和Matlab (用于求解微分方程)得到的一些模型图。我使用了"ticks“命令来增加NetLogo中的时间,就像Matlab使用时间(以秒为单位)一样。为了比较NetLogo和Matlab得到的图形,我应该记住哪些预防措施(变化)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-02 17:31:41

一般情况下,NetLogo图的刻度轴应该是MatLab图的时间轴的一个常数。在模拟中,这个标量通常被称为dt或“步骤大小”:每个滴答的时间。如果您只是使用NetLogo对微分方程进行数值求解(虽然不推荐,尽管可能),您可能会显式地将其设置为某种东西(就像在MatLab中进行数值求解时一样)。然而,在大多数NetLogo模型中,步骤大小是隐式的。

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

  • 药剂速度
  • 增长率或衰减率
  • 扩散速率

例如,如果我们在一条速度限制为每小时100公里(= (100000 m) / (60 min * 60 sec) = 27.8 m/s)的街道上模拟交通,而我们的斑块大小等于1米,我们的代理商每蜱最多行驶0.5次,那么我们就有:

代码语言:javascript
复制
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秒。

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

或者,你也可以通过比较一些情节,看看它们是如何排列的,然后确定这样的步长。然后,您可以反向工作,以确定您的模型中的哪些参数正在决定步骤大小。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25619150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档