我正在使用NetLogo创建模拟模型,它们对蜜蜂进行探访并为它们授粉。为了了解遗传多样性,我希望每只海龟每次访问时都要记录其访问的花朵的位置。这意味着我随后知道生成的列表中最后记录的花朵可能已被其上方的任何花朵授粉。我将花建模为随机产生的黄色斑块,一旦蜜蜂从它们那里采集了花粉,它们就会变成蓝色,如果蜜蜂对它们进行了授粉,它们就会变成白色,尽管只有当蜜蜂有足够的花粉来探访它们时才会发生这种情况。授粉。
也需要此信息来明确每个海龟的个性。我的希望是,运行后是否可以为每个乌龟生成一个文件,并在它们下面按顺序排列它们访问的花朵的位置的列表。
我想像它每次蜜蜂访问花朵时都会起作用,它会存储花朵的x和y坐标。
to store-location
ask turtles [
if ((pcolor = yellow) or (pcolor = blue) or (pcolor = white))
set xy_list fput (list int xcor int ycor) xy_list
]
]
end
我还没有测试过,但是对我来说看起来几乎是正确的。实际上,令我惊讶的是它没有用(您没有解释问题)。但是代替:
set xy_list fput (list int xcor int ycor) xy_list
拥有
set xy_list fput patch-here xy_list
您将新条目放入列表的方法很好。但是您拥有它的方式将为您提供列表列表。相反,您可以存储补丁(因此您无需获取int
),然后您将获得一个包含patch 1 4
之类的单级列表,以后可以更轻松地阅读。
然后,运行完成后,您可以将列表写入文件。如果您需要有关这方面的帮助,请询问另一个问题。