我有一个圆圈,代表海龟进入的东西。最后,在进行“行为空间”实验时,我希望能够测量从每只乌龟到该圆的边缘的距离,并希望报告其净值。我不断收到错误,而且我不知道该怎么做。
我尝试将最终坐标和初始坐标设置为“在此处修补”。但是我不断遇到这样的问题:“您不能在观察者上下文中使用INITIAL-COORD,因为INITIAL-COORD仅适用于乌龟”。
;我的代码在350个滴答处结束,这在go函数中...
if ticks = 350
[ask rbc [ set final-coord patch-here ]
ask initial-coord [set dist dist + distance final-coord]
set dist dist / (count rbc)]
;然后当我尝试从数据中创建文件时...
to makeOutputFile
set fileCounter 0
let date date-and-time
repeat 16 [set date remove-item 0 date]
set output_folder (word "Experiments/")
while [file-exists? (word output_folder"run_"fileCounter"_"date"_output.txt")][set fileCounter fileCounter + 1]
let output_file(word output_folder"run_"fileCounter"_"date"_output.txt")
file-close-all
file-open output_file
file-write ( "dist:")
file-write (dist)
end
答案 0 :(得分:2)
尝试替换:
[ask rbc [ set final-coord patch-here ]
ask initial-coord [set dist dist + distance final-coord]
set dist dist / (count rbc)]
具有:
set dist mean [distance initial-coord] of rbc
如果inital-coord
是全局或乌龟属性,这应该起作用
此外,您可以在BehaviorSpace窗口的“使用这些报告程序的度量运行”区域中计算该值,而不是手动写入文件。