在试图在Netlogo中绘图时将其除以零

时间:2013-02-05 17:12:35

标签: plot netlogo divide-by-zero

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

当我点击模型的设置时,会显示此消息

除以零。    观察者运行时的错误/    情节'Promedio conexiones para cada agente'pen'Prom。 CONEX“。    更新代码    由__CLEAR-ALL-AND-RESET-TICKS调用    由程序SETUP调用    由Button'setup'调用

在设置过程中,即使设置最初创建5只乌龟,也会计算0只乌龟。但它显然是在设置完成之前绘制一些东西。任何想法为什么会这样。我把我的代码放在更新字段上,什么都没有 在设置字段上。

谢谢!

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

Atirag对他自己的问题给出的答案是正确的,但这里有更多来自NetLogo transition guide的背景:

  

为了使以前的NetLogo版本的模型在5.0中工作   无变化时,在5.0中打开旧模型时,任何事件都会发生   clear-all(或ca)会自动更改为   __clear-all-and-reset-ticks,它结合了clear-allreset-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。

中使用