Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Variables NetLogo 3D:在运行结束时打印多个turtle变量以输出,并在BehaviorSpace中运行_Variables_3d_Output_Netlogo_Behaviorspace - Fatal编程技术网

Variables NetLogo 3D:在运行结束时打印多个turtle变量以输出,并在BehaviorSpace中运行

Variables NetLogo 3D:在运行结束时打印多个turtle变量以输出,并在BehaviorSpace中运行,variables,3d,output,netlogo,behaviorspace,Variables,3d,Output,Netlogo,Behaviorspace,我试图找到一种有效的方法,从随机选择的100只海龟中输出大量海龟变量(20+)到输出字段或文本文件中。到目前为止,我已经: turtles-own [ variable1 variable2 variable3 variable4 . . . ] to go if (ticks < 1) [reset-timer] ticks if count turtles >= end-population [ ask n-of 100 turtles [ output-show varia

我试图找到一种有效的方法,从随机选择的100只海龟中输出大量海龟变量(20+)到输出字段或文本文件中。到目前为止,我已经:

turtles-own [
variable1
variable2
variable3
variable4
.
.
.
]

to go 
if (ticks < 1) [reset-timer]
ticks
if count turtles >= end-population [
ask n-of 100 turtles [
output-show variable1
output-show variable2
output-show variable3
output-show variable4
]
。。。在final commands字段中,这些数据不会显示在输出文件中


谢谢

有多种方法可以做到这一点-例如,如果您想手动输出值,
csv
扩展是很好的选择。如果你想在行为空间中快速做到这一点,我通常会这样做

我假设您每次都希望得到相同100只海龟的变量值,而不是为每个变量采样新的100只海龟。因此,我认为最简单的方法就是为每个感兴趣的变量创建一个
globals
变量,然后根据需要创建一个过程来填充这些列表。例如,使用此设置:

globals [ a-final b-final c-final ]

turtles-own [ a b c ]

to setup
  ca
  crt 100 
  reset-ticks
end

to go
  ask turtles [
    set a random 100
    set b one-of [ "Beep" "Boop" ]
    set c precision random-float 10 2
  ]
end
为了这个玩具版本,海龟们每打一个勾就随机更新它们的
a
b
c
变量。然后,您有一个程序,从您的总人口中再抽样一些海龟(这里是10只),并更新存储列表:

to output
  let selected-turtles n-of 10 turtles 
  set a-final [a] of selected-turtles
  set b-final [b] of selected-turtles
  set c-final [c] of selected-turtles
end
现在,只要输出在BehaviorSpace实验结束之前运行,您就可以将这些列表作为字符串输出,您可以使用R或类似软件轻松地分离和清理这些列表。例如,如果您有如下设置:

您将得到如下输出:


有多种方法可以做到这一点-例如,如果您想手动输出值,
csv
扩展是很好的选择。如果你想在行为空间中快速做到这一点,我通常会这样做

我假设您每次都希望得到相同100只海龟的变量值,而不是为每个变量采样新的100只海龟。因此,我认为最简单的方法就是为每个感兴趣的变量创建一个
globals
变量,然后根据需要创建一个过程来填充这些列表。例如,使用此设置:

globals [ a-final b-final c-final ]

turtles-own [ a b c ]

to setup
  ca
  crt 100 
  reset-ticks
end

to go
  ask turtles [
    set a random 100
    set b one-of [ "Beep" "Boop" ]
    set c precision random-float 10 2
  ]
end
为了这个玩具版本,海龟们每打一个勾就随机更新它们的
a
b
c
变量。然后,您有一个程序,从您的总人口中再抽样一些海龟(这里是10只),并更新存储列表:

to output
  let selected-turtles n-of 10 turtles 
  set a-final [a] of selected-turtles
  set b-final [b] of selected-turtles
  set c-final [c] of selected-turtles
end
现在,只要输出在BehaviorSpace实验结束之前运行,您就可以将这些列表作为字符串输出,您可以使用R或类似软件轻松地分离和清理这些列表。例如,如果您有如下设置:

您将得到如下输出: