【发布时间】:2021-04-29 08:36:26
【问题描述】:
我想在 Netlogo 中解决一个远远超出我的编程技能的问题。我想为每只海龟建立一个列表,其中包含海龟在这一“天”去的最远的补丁。到目前为止,我试图建立一个列表,为每只海龟存储所有补丁。现在我想计算——对于每只海龟——这个列表中离它的家有最大距离的补丁(隐藏)。我想每天晚上清空列表(这不是强制性的)到目前为止这是我的代码:
let temp-visited-patch-list lput patch-here temp-visited-patch-list
if period = night
[
[foreach [temp-visited-patch-list] [x -> set visited-patch-list lput (max x [distance hide]) visited-patch-list]]
let temp-visited-patch-list []
]
所以我离单独提取每只海龟的值并没有那么远 - 甚至我发布的部分也不起作用。我收到“预期的命令”错误。我将非常感谢任何解决此问题的建议。 此致 奥利维亚
【问题讨论】:
-
您需要列表是否有特定原因?有更简单的方法来概念化这一点。如果您只关心最大距离,而不是存储列表然后在晚上处理并删除它,只需计算到隐藏的距离,因为它四处游荡,如果它大于先前存储的值,则保留该值跨度>
-
嗨 JenB,我不需要列表 - 但我需要每个海龟到隐藏处的最大距离的补丁 - 我认为这个信息很容易(到目前为止我不是完全确定如何)从列表中提取 :) 我想为模拟中的每只乌龟计算家园范围。我也有使用代理集而不是列表的想法,但我有一个问题是为了计算我会混合补丁和海龟变量 - Netlog 对此不满意......
-
每只海龟都有自己的变量值。就像有些海龟可以是绿色的,有些可以是蓝色的——这就是
turtles-own的用途。所以乌龟 1 会知道它说 5,乌龟 2 会知道它说 4 等等。 -
我不确定我是否理解您想要告诉我的内容。我需要每只海龟相对于它的皮走的最远的补丁(不是距离,补丁)。这个补丁应该单独存储在每个海龟的所有列表中,以便我可以计算家庭范围的最小凸包/多边形。我怎么能用海龟自己做到这一点?也许你可以添加一些代码,让我更容易理解你将如何解决这个问题。