如何在NetLogo中记录代理的到货订单?
在我的模型中,我想要一个海龟品种(食物)来记录许多其他品种(捕食者)到达的顺序 到目前为止,我有一段代码告诉我谁在那里,但没有保留到达顺序:如何在NetLogo中记录代理的到货订单?,netlogo,Netlogo,在我的模型中,我想要一个海龟品种(食物)来记录许多其他品种(捕食者)到达的顺序 到目前为止,我有一段代码告诉我谁在那里,但没有保留到达顺序: if ticks = day-length [ print [who] of turtles-here with [who != [who] of myself] 如有任何建议,我们将一如既往地不胜感激。如果能提供更好的方法,我确实已经启动并运行了RNetLogo 谢谢 获取我想要的数据的一个丑陋的方法是使用两行独立的代码 ask other tur
if ticks = day-length [
print [who] of turtles-here with [who != [who] of myself]
如有任何建议,我们将一如既往地不胜感激。如果能提供更好的方法,我确实已经启动并运行了RNetLogo
谢谢
获取我想要的数据的一个丑陋的方法是使用两行独立的代码
ask other turtles-here [show got-here]
foreach sort-by < [got-here] of turtles-here with [shape = "default"]
[
show ?
]]
在这里询问其他海龟[show got here]
使用[shape=“default”]
[
显示
]]
您可以将它们保存为食物拥有的列表。但我认为最好的办法是让捕食者记住
捕食者有这样的行动吗
if food-here != nobody and been-here = 0 [set got-here ticks]
ask food [print [who] of predators-here with-min[got-here]]
到过这里的人最少,到过那里的时间最长
像这样检查一下
if food-here != nobody and been-here = 0 [set got-here ticks]
ask food [print [who] of predators-here with-min[got-here]]
这是假设您正在使用记号
显示列表
foreach sort-by < [got-here]
[
show ? ;;
]
foreach排序依据<[got here]
[
显示
]
或者最好列个清单
let here-list
foreach sort-by < [got-here]
[
set here-list lput ? here-list
]
让我们在这里列出
foreach排序依据<[到达此处]
[
在此处设置列表lput?在此处设置列表
]
首先,如果每个食物都要记录自己的列表,您需要在食物自身的
代理变量列表中添加一个变量(比如“捕食者顺序”)。创建食物时,将列表初始化为空(设置捕食者顺序[]
)。不要在列表中使用who
。而是将代理添加到列表中。如果看不到周围的代码,就很难获得正确的语法,但它将类似于:
ask this-food
[ set predator-order lput myself predator-order ]
我几乎同意你的建议。带有min[got here]的
只给了我一个值,即最小值。我可以用show sort by<[got here]of turtles here
打印正确的顺序,但是如果我丢失了它们的身份,我将扩展我的答案来解决这个问题谢谢你的回复。如果我使用您的“显示列表”如下:如果有?海龟在此[if ticks=day length-10[foreach sort by<[got here]of turtles here with[shape=“default”][show?]]]
代码再次以正确的顺序给出了蜱虫,但没有给出代理人的身份/身份。如果我使用who而不是?,请尝试使用who代替?它给出了一个世界卫生组织食品编号列表,其长度与以ITA为食的动物数量相同。作为一般性评论,使用who
几乎总是使NetLogo代码更复杂,而不是更简单。相反,直接比较和操纵海龟这里的海龟和[who!=[who]我自己]
减少到这里的海龟和[self!=我自己]
或者只是这里的其他海龟
。嗨,我尝试了这个,得到了“没有我自己可以参考的代理”。正如我所说,如果没有看到周围的代码,我就无法正确地获取语法。然而,我假设你有类似于询问捕食者[移动、进食和寻找食物….
的东西,然后在该代码中的某个地方,你有捕食者正在要求它找到的食物将自己(捕食者)添加到列表中。我自己
指询问食物的捕食者。。。