请参阅下面的代码,用于确定一些随机分布的未定居海龟(黑色)中的定居海龟群(红海龟和灰海龟)的数量,以及网络标识世界/界面中的最大、最小和平均集群大小(径向范围)。
globals[ cluster-size cluster-count cluster-size-growth cluster-count-growth ]
to setup
clear-all
ask patches [ set pcolor white ]
create-turtles 1000 [
set color black
set label-color blue
setxy random-xcor random-ycor
set cluster-size 1
]
ask n-of 5 turtles [
ask turtles in-radius one-of [1 2 3] [
set color one-of [red grey]
]
]
end
to cluster-collect
let base-settlers turtles with [ color = red ]
let consp-settlers turtles with [ color = grey ]
ask base-settlers [
set cluster-count count consp-settlers in-radius cluster-size
set cluster-size-growth cluster-size + 1
set cluster-count-growth count consp-settlers in-radius cluster-size-growth
if cluster-count >= 1 [
ifelse ( cluster-count-growth - cluster-count != 0 ) [
set cluster-size cluster-size + 1
][
print count base-settlers with [ count turtles with [ color = grey ] >= 1 ]
]
]
]
print [ max cluster-size-growth ] of base-settlers
print [ max cluster-count-growth ] of base-settlers
print [ mean cluster-size-growth ] of base-settlers
print [ mean cluster-count-growth ] of base-settlers
print [ min cluster-size-growth ] of base-settlers
print [ min cluster-count-growth ] of base-settlers
print [ standard-deviation cluster-size-growth ] of base-settlers
print [ standard-deviation cluster-count-growth ] of base-settlers
print [ variance cluster-size-growth ] of base-settlers
print [ variance cluster-count-growth ] of base-settlers
end我得到的错误如下:MAX expected input to be a list but got the number 10 instead.,我敢打赌,它也会对均值和最小函数做同样的操作,因为它没有将基本定居者识别为一个代理集。对于如何转换此代码以获得最大、最小和平均集群大小(径向范围)和固定海龟数量(红色和灰色),有什么想法吗?
发布于 2017-10-02 23:41:39
运行代码时,NetLogo突出显示生成错误的行。问题线是print max cluster-size-growth。如果您更早地查看,那么在此之前有let cluster-size-growth cluster-size + 1和let cluster-size 1。所以cluster-size-growth是1+ 1,或者是数字2,变量cluster-count-growth也是一个数字。
我想(但我不确定),你正试图为每只海龟计算这两个变量,然后取相同类型的海龟的最大/平均/分。如果是这样的话,您需要首先为所有海龟创建变量(即结束ask []语句),然后执行类似于print max cluster-size-growth of base-settlers的操作。您还可能需要为这些变量建立turtle-own变量,因为局部变量值将在ask []块的末尾丢失。
https://stackoverflow.com/questions/46533808
复制相似问题