在Netlogo中,如何测量海龟或补丁自身在行为空间中的变量;使用这些报告器测量运行情况”;空间

在Netlogo中,如何测量海龟或补丁自身在行为空间中的变量;使用这些报告器测量运行情况”;空间,netlogo,behaviorspace,Netlogo,Behaviorspace,我正在行为空间中运行我的Netlogo模型。在我的模型中,我创建了一个海龟自己的变量,称为消费率。我想导出每次跑步时每只海龟的消耗率。从我对行为空间的理解来看,我会以某种方式将消费率放在写着“使用这些报告器进行测量”的框中,以便将其导出,但每次尝试时,我都会遇到不同的错误。例如,我经常收到一个错误,上面写着“由于语法错误,实验中止:预期的报告者”。我还需要导出一个patches自己创建的变量,称为quality,用于模型中每个补丁的每个滴答声,我也遇到了同样的问题。在线行为空间这一部分的所有示例

我正在行为空间中运行我的Netlogo模型。在我的模型中,我创建了一个海龟自己的变量,称为消费率。我想导出每次跑步时每只海龟的消耗率。从我对行为空间的理解来看,我会以某种方式将消费率放在写着“使用这些报告器进行测量”的框中,以便将其导出,但每次尝试时,我都会遇到不同的错误。例如,我经常收到一个错误,上面写着“由于语法错误,实验中止:预期的报告者”。我还需要导出一个patches自己创建的变量,称为quality,用于模型中每个补丁的每个滴答声,我也遇到了同样的问题。在线行为空间这一部分的所有示例都显示了“海龟计数”或类似的内容。我能在那里导出海龟或补丁变量吗?如果是,我会使用什么代码

我尝试使用“显示消费率”或“报告消费率”之类的原语。我不确定我甚至会开始使用什么格式的代码来给我这些导出。有什么建议或帮助吗?我还试着在“使用这些报告器的度量运行”框中键入“消耗率”或“质量”,但出现了一个错误,说我不能在观察者上下文中使用turtle或patch变量,我如何将这些变量输入观察者上下文?不管怎么说

   patches-own [ quality ]
   turtles-own [ consumption-rate ]


to setup-patches
  ask patches
  [set quality (2 + random 8)
  set pcolor scale-color green quality 1 10 ]
end 

to Go
  ask turtles
  [ calculate-consumption ] 
end

to calculate-consumption
  set consumption-rate ( [ quality ] of patch-here ) / ( strength-of-competition * count turtles-here )
end

您的概念不匹配。在BehaviorSpace中导出turtle或patch变量没有问题,但您还没有告诉NetLogo要导出哪个变量。你需要指定它是所有海龟的变量,还是只有一些海龟或其他什么

这里是代码的修改版本,因此它是完整的、自包含的

globals [strength-of-competition]
patches-own [ quality ]
turtles-own [ consumption-rate ]

to setup
  set strength-of-competition 0.4
  ask patches
  [ set quality (2 + random 8)
    set pcolor scale-color green quality 1 10
  ]
  create-turtles 300 [setxy random-xcor random-ycor]
end 

to go
  ask turtles
  [ calculate-consumption ] 
end

to calculate-consumption
  set consumption-rate quality / ( strength-of-competition * count turtles-here )
end
在Behavior Space设置中运行此操作,该设置以报告者身份显示
[消耗率]海龟。同时在时限内加2。您将获得所请求的输出


当您不熟悉BehaviorSpace时,使用BehaviorSpace的一个好技巧是在界面上为要保存在输出中的每个值设置一个监视器。让监视器显示您想要导出的内容,然后简单地获取最终得到的代码并将其放入报告器框中。“监视”步骤的优点是,它可以迫使您正确思考,而不必担心这是否是行为空间问题。

您的概念不匹配。在BehaviorSpace中导出turtle或patch变量没有问题,但您还没有告诉NetLogo要导出哪个变量。你需要指定它是所有海龟的变量,还是只有一些海龟或其他什么

这里是代码的修改版本,因此它是完整的、自包含的

globals [strength-of-competition]
patches-own [ quality ]
turtles-own [ consumption-rate ]

to setup
  set strength-of-competition 0.4
  ask patches
  [ set quality (2 + random 8)
    set pcolor scale-color green quality 1 10
  ]
  create-turtles 300 [setxy random-xcor random-ycor]
end 

to go
  ask turtles
  [ calculate-consumption ] 
end

to calculate-consumption
  set consumption-rate quality / ( strength-of-competition * count turtles-here )
end
在Behavior Space设置中运行此操作,该设置以报告者身份显示
[消耗率]海龟。同时在时限内加2。您将获得所请求的输出

当您不熟悉BehaviorSpace时,使用BehaviorSpace的一个好技巧是在界面上为要保存在输出中的每个值设置一个监视器。让监视器显示您想要导出的内容,然后简单地获取最终得到的代码并将其放入报告器框中。进行监视步骤的好处是,它可以迫使您正确思考,而不必担心这是否是行为空间问题