迭代 Netlogo 中的距离列表

Iterate over a list of distances in Netlogo

我需要以下问题的帮助。 基本上,我有四只乌龟和它们之间的距离列表,比方说 [0 1 2 3]。零是海龟与自身的距离。 我想获得以下列表 [0、1/5、2/4、3/3]。换句话说,我想将每个数字除以所有其他数字的总和。你能帮帮我吗?

map primitive 允许您分别对列表中的每个项目进行计算,并 returns 一个新的结果列表,如 Netlogo 词典中的以下示例所示:

show map round [1.1 2.2 2.7]
=> [1 2 3]
show map [ i -> i * i ] [1 2 3]
=> [1 4 9]

现在将此应用于您的案例,我让列表中的每个项目除以列表中所有项目的总和减去其自身的值:

to test
  
  let the-list [ 0 1 2 3 ]
  let total sum the-list
  let new-list map [ x -> x / (total - x)] the-list
  
  show new-list
  ;=> [0 0.2 0.5 1]

end