Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netlogo重置标记错误消息_Netlogo_Behaviorspace - Fatal编程技术网

Netlogo重置标记错误消息

Netlogo重置标记错误消息,netlogo,behaviorspace,Netlogo,Behaviorspace,我在使用行为空间运行迭代时遇到此错误 The tick counter has not been started yet. Use RESET-TICKS. error while observer running TICKS called by procedure __EVALUATOR 我不知道为什么会这样。我在“设置”例程中包含了重置刻度 除了在行为空间对话框向导中,我还将重置记号作为要执行的最终命令。然而,我得到了这个错误 下面是我的设置和启动代码: to setup clear

我在使用行为空间运行迭代时遇到此错误

The tick counter has not been started yet. Use RESET-TICKS.
error while observer running TICKS
called by procedure __EVALUATOR 
我不知道为什么会这样。我在“设置”例程中包含了重置刻度

除了在行为空间对话框向导中,我还将重置记号作为要执行的最终命令。然而,我得到了这个错误

下面是我的设置和启动代码:

to setup
  clear-all
  setup-citizens
  setup-parties
  update-support
  reset-ticks

end

to go
  ask parties [ adapt set my-old-size my-size ]
  update-support
  election
  plot-voter-turnout
  plot-volatility
  if (Turnout-100%? = false) [plot-citizen-comparison]

  tick

end

您在BehaviorSpace实验的“停止条件”中使用了
ticks
,因此我认为几乎可以肯定的是,“观测者运行ticks时出错”错误一定来自哪里,因为堆栈跟踪没有引用过程名称

下面是我对这里发生的事情的最佳猜测:在某些情况下,
设置
过程失败,因此永远不会在
设置
结束时调用
重置勾号。然后BehaviorSpace尝试运行停止条件,导致您看到的错误

这种猜测有一些问题:

  • 我不知道为什么BehaviorSpace只显示最终的ticks错误,而不是导致
    设置失败的错误

  • 我不知道为什么您的
    设置过程会失败


尽管如此,这是我所能提供给你的最好的,不需要做更深入的调查。

不久前我也面临着同样的问题。我敢肯定,问题要追溯到Netlogo如何在线程之间共享全局变量/状态。我怀疑一个线程启动了
go
过程,而另一个线程尚未调用
reset ticks

临时解决方法是调用
reset ticks
,如果在
go
过程开始时尚未调用它


仔细地[let t ticks][reset ticks]

对于那些通过搜索错误“滴答计数器尚未启动。请使用reset-ticks.”而不是实际使用Behavior Space的人,该问题(以及接受的答案)不适用于您的情况。相反,您几乎肯定忘记了在尝试运行模型之前初始化模型,可能是在没有先点击设置按钮的情况下点击go按钮


reset ticks
命令启动时钟计数器(使内部时钟可用),以便
tick
命令可以提前时钟。按照惯例,名为setup的过程具有初始化模型的所有命令,包括
重置勾号
、创建海龟等。类似地,名为go的过程包含实际运行模型的所有命令,就像移动海龟一样,包括
勾号
。同样按照惯例,这些过程分别通过按名为setup和go的按钮来运行。

能否发布行为空间配置的屏幕截图?@BryanHead:我已经用屏幕截图编辑了问题。我将重置勾号作为最后命令。(不需要。)在调用
勾选
之前,您确定它在
设置中吗?如果在命令行中运行
ca安装程序
,会发生什么情况?@Alan:我已经在主要问题中包括了安装和Go。我在最后一个命令中加入了reset ticks,以查看这是否可以防止错误,但似乎不起作用。“reset ticks错误发生的时间或原因”-通常在调用
reset ticks
之前使用
ticks
报告程序。至于为什么在您的特定情况下会发生这种情况,我认为这一定与您代码中未向我们展示的部分的逻辑有关。您在哪里使用
记号
原语?当您得到错误时,它是否显示调用它的过程?在只发布错误消息的纯文本时,您忽略了可能有用的信息。非常感谢您的帮助和时间。我不知道它为什么停止了,但在您的回复之后,我从停止条件中删除了ticks条件,尽管我收到了其他错误,但至少与重置ticks相关的错误已经停止。