我有一个非常简单的模型,50只乌龟远离中心点。我希望能够在行为空间的每第n个刻度中提取它们的子集的空间坐标(xcor, ycor)
。希望你能帮忙!
答案 0 :(得分:2)
模运算符mod
可能是最简单的方法。它从除法运算中输出余数,因此您只需使用逻辑标志,这样只有当ticks
除以n等于0时才提取坐标。例如:
to setup
ca
crt 10
reset-ticks
end
to go
; set up lists for example output
let tlist []
let xlist []
let ylist []
ask turtles [
rt random 60 - 30
fd 1
]
tick
; If ticks is not zero, and the remainder of
; the number of ticks / 3 is zero, extract
; some info about the turtles and print it.
if ticks > 0 and ticks mod 3 = 0 [
ask turtles with [ xcor > 0 ] [
set tlist lput self tlist
set xlist lput xcor xlist
set ylist lput ycor ylist
]
print tlist
print xlist
print ylist
]
end
多次运行,您会在tick
3(以及6,9,12等)上看到列表打印出来。请注意,在上面的示例中,tick
增量将影响实际提取此输出的时间,tick
在go过程结束时但在评估if
语句之前发生