1

我对 Netlogo 很陌生,我正在尝试为我的模型做一个情节。我想绘制关于海龟(计数链接)/(计数海龟)的链接的平均值。

当我单击模型的设置时,尽管出现此消息

被零除。观察者运行时出错/被绘图“Promedio conexiones para cada agente”笔“舞会”调用。' 由过程调用的 __CLEAR-ALL-AND-RESET-TICKS 调用的更新代码 由按钮“设置”调用的 SETUP

即使安装程序最初创建了 5 个海龟,它似乎在设置过程中计数 0 个海龟。但它显然试图在设置完成之前绘制一些东西。任何想法为什么会发生这种情况。我把我的代码放在更新字段上,而没有放在设置字段上。

谢谢!

4

2 回答 2

2

没关系得到它。在新的 Netlogo 版本中,您似乎必须在设置开始时使用 CLEAR-ALL,在设置结束时使用 RESET-TICKS,而不是在设置开始时使用 __CLEAR-ALL-AND-RESET-TICKS。否则绘图将无法按预期工作。

于 2013-02-05T17:17:31.627 回答
2

Atirag 对他自己的问题给出的答案是正确的,但这里有一些来自NetLogo 过渡指南的上下文:

为了使以前的 NetLogo 版本的模型在 5.0 中无需更改即可工作,当在 5.0 中打开旧模型时,任何出现的clear-all(or ca) 都会自动更改为 __clear-all-and-reset-ticks,它结合了clear-all和的效果reset-ticks。名称上的两个下划线表示这不是一个普通的原语,而只是为了向后兼容而存在。

您应该__clear-all-and-reset-ticks从您的代码中删除,将其替换为clear-all,然后放在reset-ticks您的设置过程的末尾。

底线是“ reset-ticks”部分__clear-all-and-reset-ticks实际上试图更新图(就像正确的reset-ticks原语一样)。如果你在开头调用它,setup当图更新时不会创建你的海龟,并且类似的东西(count links) / (count turtles)确实会触发除以零。

旁注:__clear-all-and-reset-ticks在设置过程结束时调用也无济于事,因为它会清除你的海龟,这不是你想要的。这个原语基本上不应该在 NetLogo >= 5.0 中使用。

于 2013-02-06T04:26:11.200 回答