Netlogo 中从原点(开始补丁)到半径内海龟集群中心的距离
Distance from origin (start-patch) to center of in-radius cluster of turtles in Netlogo
我已经在 Netlogo 中确定了分散在世界各地的海龟群中的最大海龟数量,以便为所有海龟派生的最大数量的海龟(在所述半径内)是结果(分配给一个变量)。
let corr-peak-density max [count neighbors in-radius 50] of turtles
但是,我现在正在尝试获取从世界的原点(开始补丁)到这个最大的海龟群或邻居的距离,但失败了。理想情况下,如果我可以编写代码找到从世界原点到海龟或位于半径函数产生的最大海龟簇中心的补丁的距离,那将是最好的。但是,我如此公平的尝试失败了。请帮助使用以下代码行(或其他一些首选方法)来实现这一点。
let corr-peak-density-distance [distance start-patch] of patch[corr-peak-density]
我不确定上面接下来的代码行哪里出错了。
首先,代码count neighbors in-radius 50
不正确。 neighbors
将报告乌龟周围的 8 个补丁。由于所有这 8 个补丁都在海龟的 50 以内,因此此代码将 始终 报告 8。相反,您需要 count turtles in-radius 50
。值得注意的是,这段代码可能会很慢。您可以试试 count turtles with [ distance myself < 50 ]
。它基本上做同样的事情,但在使用如此大的半径时应该更快。
接下来,我们不只计算峰值密度,而是让乌龟位于该簇的中心:
let peak-density-turtle max-one-of turtles [ count turtles with [ distance myself < 50 ] ]
let corr-peak-density [ count turtles with [ distance myself < 50 ] ] of peak-density-turtle
然后,获取从这只乌龟到起始补丁的距离很简单:
let corr-peak-density-distance [ distance start-patch ] of peak-density-turtle
我已经在 Netlogo 中确定了分散在世界各地的海龟群中的最大海龟数量,以便为所有海龟派生的最大数量的海龟(在所述半径内)是结果(分配给一个变量)。
let corr-peak-density max [count neighbors in-radius 50] of turtles
但是,我现在正在尝试获取从世界的原点(开始补丁)到这个最大的海龟群或邻居的距离,但失败了。理想情况下,如果我可以编写代码找到从世界原点到海龟或位于半径函数产生的最大海龟簇中心的补丁的距离,那将是最好的。但是,我如此公平的尝试失败了。请帮助使用以下代码行(或其他一些首选方法)来实现这一点。
let corr-peak-density-distance [distance start-patch] of patch[corr-peak-density]
我不确定上面接下来的代码行哪里出错了。
首先,代码count neighbors in-radius 50
不正确。 neighbors
将报告乌龟周围的 8 个补丁。由于所有这 8 个补丁都在海龟的 50 以内,因此此代码将 始终 报告 8。相反,您需要 count turtles in-radius 50
。值得注意的是,这段代码可能会很慢。您可以试试 count turtles with [ distance myself < 50 ]
。它基本上做同样的事情,但在使用如此大的半径时应该更快。
接下来,我们不只计算峰值密度,而是让乌龟位于该簇的中心:
let peak-density-turtle max-one-of turtles [ count turtles with [ distance myself < 50 ] ]
let corr-peak-density [ count turtles with [ distance myself < 50 ] ] of peak-density-turtle
然后,获取从这只乌龟到起始补丁的距离很简单:
let corr-peak-density-distance [ distance start-patch ] of peak-density-turtle