如何使用Netlogo中的行为空间获取海龟到达不同10个补丁的滴答声时间?
有100块绿色斑块和10只海龟。每当乌龟来到一片绿色地带,它就会变成红色。因此,经过很长一段时间,所有的绿色斑块在不同的滴答声时间变成红色。我想使用如何使用Netlogo中的行为空间获取海龟到达不同10个补丁的滴答声时间?,netlogo,Netlogo,有100块绿色斑块和10只海龟。每当乌龟来到一片绿色地带,它就会变成红色。因此,经过很长一段时间,所有的绿色斑块在不同的滴答声时间变成红色。我想使用behaviousspace将这100个不同的勾号时间输入excel工作表。我还想运行这个100次。i、 我要100套100种不同的滴答声时间 我编写了一个代码,当海龟来到绿色的补丁时,补丁会变成红色,我在下面写了“show ticks”。因此,当绿色补丁变为红色时,屏幕底部的command center会显示滴答声时间。勾选时间示例:34,56,7
behaviousspace
将这100个不同的勾号时间输入excel工作表。我还想运行这个100次。i、 我要100套100种不同的滴答声时间
我编写了一个代码,当海龟来到绿色的补丁时,补丁会变成红色,我在下面写了“show ticks”。因此,当绿色补丁变为红色时,屏幕底部的command center会显示滴答声时间。勾选时间示例:34,56,78,98,99,…,1234。有100个不同的时间
breed [InfMosquitoes InfMosquito]
to setup
clear-all
set-default-shape InfMosquitoes "butterfly"
create-InfMosquitoes num-infected-mosquitoes-red
[
set color red
]
ask turtles [
set size 1
setxy random-xcor random-ycor
]
ask turtles[
ifelse coin-flip?
[ifelse coin-flip? [set heading 0][set heading 90]]
[ifelse coin-flip? [set heading 180][set heading 270]]
]
ask n-of num-humans patches [set pcolor green]
show num-infected-mosquitoes-red
reset-ticks
end
to go
ask turtles
[
right random 360
forward 1
ask InfMosquitoes[
if pcolor = green
[
set pcolor red
show ticks
]
]
]
tick
end
to-report coin-flip?
report random 2 = 0
end
我想知道我应该在
行为空间
表中写什么。我知道重复100次。我想知道我应该在其他命令框上写什么。您可以创建一个全局变量并将其作为列表启动
globals [
...
ticks-recorder
...
]
to setup
...
set ticks-recorder []
...
end
然后,不再在命令中心打印勾号,而是将其添加到列表中:
to go
ask turtles
[
right random 360
forward 1
ask InfMosquitoes[
if pcolor = green
[
set pcolor red
set ticks-recorder lput ticks ticks-recorder ; this is the line I've changed
]
]
]
tick
end
当补丁颜色变为红色时,您将看到滴答声记录器
是所有滴答声的列表
然后,您可以在BehaviorSpace中将ticks recorder
指定为报告者
请注意,使用此解决方案,您将得到一个报告列表。例如,假设您的列表包含值1和2。在NetLogo中,这被视为[12]
。这意味着,例如,如果您在Excel中打开输出文件,您的报告程序所在的单元格将完全包含文本[12]
,这意味着您将无法对其执行任何数学运算。
我不知道您是否关心这个问题(例如,您可能正在使用不同的编程语言处理输出,其中您取消了reporter的列表)。
但我认为这是另一回事。先生。我的问题是我应该在行为空间实验窗口的命令框中写什么?我应该在“停止条件”框中写什么?如果我想要绿色补丁先变为红色的滴答时间,那么停止代码是“任何带[pcolor=red]的补丁”。但是现在我想把每一个绿色补丁变红的100次滴答声都记录到excel表格中。希望我的问题清楚。谢谢