Plot 尝试在Netlogo中绘图时被零除

Plot 尝试在Netlogo中绘图时被零除,plot,netlogo,divide-by-zero,Plot,Netlogo,Divide By Zero,我是Netlogo的新手,我正在尝试为我的模型绘制一个图。我 要绘制与turtles count links/count相关的链接平均值吗 海龟 当我单击模型的设置时,尽管出现此消息 除以零。 观察程序运行时出错/ 由plot“Promedio conexiones para cada agente”pen“Prom”调用。康奈克斯。” 更新代码 由uu CLEAR-ALL-AND-RESET-TICKS调用 由过程设置调用 通过“设置”按钮调用 似乎在安装过程中,即使安装程序最初创建了5只海龟

我是Netlogo的新手,我正在尝试为我的模型绘制一个图。我 要绘制与turtles count links/count相关的链接平均值吗 海龟

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

除以零。 观察程序运行时出错/ 由plot“Promedio conexiones para cada agente”pen“Prom”调用。康奈克斯。” 更新代码 由uu CLEAR-ALL-AND-RESET-TICKS调用 由过程设置调用 通过“设置”按钮调用

似乎在安装过程中,即使安装程序最初创建了5只海龟,也会计算出0只海龟。但它显然试图在设置完成之前绘制一些东西。你知道为什么会这样吗。我把我的代码放在更新字段上,什么都没有 在设置字段中


谢谢

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

无论如何都无法获得它。在新的Netlogo版本中,您似乎必须在安装开始时使用CLEAR-ALL,在安装结束时使用RESET-TICKS,而不是在安装开始时使用u CLEAR-ALL-and-RESET-TICKS。否则,绘图将无法按预期工作。

Atirag对自己的问题给出的答案是正确的,但这里有更多的上下文:

为了使以前NetLogo版本的模型能够在5.0中工作 在没有更改的情况下,在5.0中打开旧模型时,任何引用 全部清除或ca的值自动更改为 __“全部清除”和“重置记号”,组合了“全部清除”和“重置记号”的效果。名称上的两个下划线表示这是 不是普通原语,但仅为向后兼容而存在

您应该从代码中删除u clear-all-and-reset-ticks,替换 用“全部清除”键清除,并在设置结束时放置“重置记号” 程序

底线是_clear-all-and-reset-ticks的reset ticks部分实际上会像适当的原语一样尝试更新绘图。如果您在设置开始时调用它,那么当绘图更新时将不会创建海龟,而类似计数链接/count turtles之类的东西确实会触发零除法


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

Atirag对他自己的问题给出的答案是正确的,但这里有一点更多的上下文:

为了使以前NetLogo版本的模型能够在5.0中工作 在没有更改的情况下,在5.0中打开旧模型时,任何引用 全部清除或ca的值自动更改为 __“全部清除”和“重置记号”,组合了“全部清除”和“重置记号”的效果。名称上的两个下划线表示这是 不是普通原语,但仅为向后兼容而存在

您应该从代码中删除u clear-all-and-reset-ticks,替换 用“全部清除”键清除,并在设置结束时放置“重置记号” 程序

底线是_clear-all-and-reset-ticks的reset ticks部分实际上会像适当的原语一样尝试更新绘图。如果您在设置开始时调用它,那么当绘图更新时将不会创建海龟,而类似计数链接/count turtles之类的东西确实会触发零除法


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

真的没有解决方案吗?这取决于您的问题是什么。在大多数情况下,在设置结束时调用reset ticks是一种方法。如果它对[你]没有帮助,可能是因为你做了一些稍微不寻常的事情,但除非我们知道它是什么,否则我们无法提出解决方案。我建议你发布一个单独的问题并链接到这里。我的分母中有一个零,因为我在我的图中跟踪一个比率。我会在第一个刻度上得到一个错误。我发现我可以在pen update命令中使用一个约束,例如:如果count mtfs>0[plot count ftms/count mtfs+1*10]。这解决了我的特殊问题。真的没有解决办法吗?这取决于你的问题是什么。在大多数情况下,在设置结束时调用reset ticks是一种方法。如果它对[你]没有帮助,可能是因为你做了一些稍微不寻常的事情,但除非我们知道它是什么,否则我们无法提出解决方案。我建议你发布一个单独的问题并链接到这里。我的分母中有一个零,因为我在我的图中跟踪一个比率。我会在第一个刻度上得到一个错误。我发现我可以在笔更新中使用约束 mmand,例如:如果计数mtfs>0[打印计数ftms/计数mtfs+1*10]。这解决了我的特殊问题。