【问题标题】:Exporting the results of an Anylogic experiment导出 Anylogic 实验的结果
【发布时间】:2021-11-24 02:32:47
【问题描述】:

我已经建立了模型并运行了实验。我似乎无法找到数据的存储位置。

我现在需要进行几次运行并比较结果,我使用的是正态分布的修复时间,因此在不修改参数的情况下,运行之间的结果应该会有所不同。

如何保留每次运行的结果,然后将它们全部呈现在同一个数据集中?

【问题讨论】:

    标签: simulation anylogic


    【解决方案1】:

    从模拟中获取数据有两个主要选项

    1. 使用内部 AnyLogic 数据库
    2. 使用 Excel 或 txt 等外部文件

    第 1 步:设置您的对象

    1. 内部数据库

    用你需要的列创建一个空表

    1. 外部对象

    使用连接面板中 AnyLogic 提供的对象设置 Excel 或文本文件

    第 2 步:保存数据

    对于这两种情况,您都需要将数据写入您选择的对象,无论是在生成数据时还是在仿真模型结束时

    1. 使用内部数据库

    最好的选择是使用以下命令写入数据

    insertInto(table_name)
        .columns(column_name)
        .values(value);
    

    这只会在您创建的数据库表中插入一个新行,您可以通过将逗号分隔的条目添加到列和值的参数中来将多个值保存到多个列中。

    例如

    insertInto(temeprature_output_table)
        .columns(scenario_name, time, temperature)
        .values("sceanrio1", 10,5, 102);
    
    1. 外部文件

    2.1) 使用 Excel

    filename.setCellValue(value, sheetName, row, column);

    或者更好的是你可以写出整个数据集

    excelFile.writeDataSet(dataset, sheetName, row, column);

    2.2) 使用文本文件

    fileName.println("value" + "\t" + " value 2");

    您可以使用任何您想要的分隔符 "\t" 用于制表符分隔或 "," 用于逗号等

    第 3 步:完成并导出数据

    1. 内部数据库 在模拟运行结束时,您可以简单地导出数据

    在此处查看帮助https://anylogic.help/anylogic/connectivity/export-excel.html#exporting-data-to-ms-excel-workbook

    附:可以通过一些努力将其自动化

    1. 外部文件

    在 Excel 上,您需要调用 .writeFile() 才能完成。 在这两个对象上,您需要调用 .close() 以将它们关闭并保存到内存中。

    仅供参考 Excel 可以选择在终止时保存。

    在此处阅读有关使用 Excel 的更多信息 - https://anylogic.help/anylogic/connectivity/excel-file.html#writing-to-excel-file

    这里是文本文件 https://anylogic.help/anylogic/connectivity/text-file.html#replicated

    还有一个示例模型

    【讨论】:

      猜你喜欢
      • 2021-02-02
      • 2021-04-17
      • 2021-02-05
      • 2015-09-27
      • 2017-07-21
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多