NetLogo,映射多维变量数组

NetLogo, mapping an array of multidimensional variables

我需要为 3 维变量 (var_1) 的每个维度估计网络中的平均值。我编写的代码并不能完全解决问题:

    set avg-network map mean ([var_1] of turtles)

这样做是计算每只海龟所有三个维度的平均值,而不是计算所有海龟每个维度的平均值。即:

Turtle0 [0 0 0] Turtle1 [1 1 1] Turtle2 [2 2 2] Turtle3 [3 3 3]

给出 [0 1 2 3] 而不是 [2 2 2] 这就是我想要的...

我找到了使用 matrix 扩展名的方法。我做的是:

extensions [ matrix ]

to-report temp-matrix
let m matrix:from-row-list ([var_1] of turtles)
report m
end

to go
  let i 0
  set avg-network n-values 3 [0]
  repeat 3 [
    set avg-network replace-item i avg-network (mean matrix:get-column temp-matrix i)
    set i (i + 1)  
  ]
end

不是最优雅的,但它可以解决问题。如果有人知道另一种方式,我很高兴听到!