如何报告行为空间中补丁到乌龟的距离?

时间:2019-07-18 16:00:43

标签: distance netlogo behaviorspace

我有一个圆圈,代表海龟进入的东西。最后,在进行“行为空间”实验时,我希望能够测量从每只乌龟到该圆的边缘的距离,并希望报告其净值。我不断收到错误,而且我不知道该怎么做。

我尝试将最终坐标和初始坐标设置为“在此处修补”。但是我不断遇到这样的问题:“您不能在观察者上下文中使用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

1 个答案:

答案 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窗口的“使用这些报告程序的度量运行”区域中计算该值,而不是手动写入文件。