NetLogo,无法获取正确的列表

时间:2019-07-10 12:56:22

标签: netlogo agent-based-modeling

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

    (foreach var_1 [x ->
      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] ...

1 个答案:

答案 0 :(得分:1)

我找到了使用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

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