寻找导出海龟属性的代码

问题描述 投票:0回答:2

我想在设置时以及运行结束时将所有单独的海龟属性导出到 csv 文件。

我尝试修改 csv 模型来完成此任务,但对 netlogo 和编码还很陌生,因此很难确定如何编写代码以及编写什么代码。我理解这部分代码:

将海龟写入 csv ;我们使用

of
原语来创建一个列表列表,然后 ;使用 csv 扩展名将该列表列表写入文件。 csv:海龟的文件“turtles.csv”[(列出 xcor ycor 大小颜色标题)] 结束

但我不确定如何编写代码来收集所有海龟的单个海龟属性(我正在寻找当一个人“检查”单个海龟时显示的属性)。

我正在使用阴谋论模型,并希望分析这两组数据以及初始的滑块参数集。

csv export netlogo
2个回答
3
投票

CSV 扩展确实使这变得非常容易。您需要做的就是将单词“(list”后面的变量列表替换为您想要从海龟中获得的所有变量。这些可以是海龟变量、补丁变量(海龟所在的补丁)或全局变量,例如作为“蜱”。

to write-turtles-to-csv
  ; we use the `of` primitive to make a list of lists and then
  ; use the csv extension to write that list of lists to a file.
  csv:to-file "turtles.csv" [ (list turtle-var-1 turtle-var-2) ] of turtles
end

这种方法的问题在于它每次都会写入一个新文件,因此您无法在同一文件中从模拟的开始和结束处获取海龟变量。最简单的解决方案是编写两个单独的文件。在设置结束时使用这样的语句:

csv:海龟的文件“turtles-at-setup.csv”[(listturtle-var-1turtle-var-2)]

当代码停止时,相同的语句但具有不同的文件名。


0
投票
extensions [ csv ] ;this works as an import

to write-turtles-to-csv
  ; we use the `of` primitive to make a list of lists and then
  ; use the csv extension to write that list of lists to a file.
  csv:to-file "turtles.csv" [ (list turtle-var-1 turtle-var-2) ] of turtles
end
© www.soinside.com 2019 - 2024. All rights reserved.