我需要为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]
...
答案 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
不是最优雅的,但是可以解决问题。如果有人知道我很高兴听到的另一种方式!