【问题标题】:looking for code to export turtle properties寻找导出海龟属性的代码
【发布时间】:2022-01-06 03:35:17
【问题描述】:

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

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

将海龟写入 csv ;我们使用of 原语来制作列表列表,然后 ;使用 csv 扩展名将该列表列表写入文件。 csv:to-file "turtles.csv" [ (list xcor ycor size color heading) ] 海龟 结束

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

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

如果能提供任何信息/方向,我将不胜感激。

谢谢

【问题讨论】:

    标签: csv export netlogo


    【解决方案1】:

    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:to-file "turtles-at-setup.csv" [ (list turtle-var-1 turtle-var-2) ] 的海龟

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

    【讨论】:

    • 非常感谢!!!我会试一试。看起来很完美。
    • 我按照您的建议编写了代码(再次感谢),但我无法看到 .csv 文件的写入位置。它是自动编写的还是我需要添加一些额外的代码才能将其写入文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多