Engee 文档

Engee中仿真结果的软件处理

在本文中,我们将解释如何使用变量保存模拟结果。 模拟,模拟. 让我们考虑使用一个基于一个简单示例的变量-使用块的正弦波输出 Sine Wave.

默认变量为 模拟,模拟 模型仿真完成后不会创建它。 选中该框以显示它。 将模拟结果保存到工作区设置窗口 debug article icon 1:

simout open 1 cn

Engee中的simout变量:集成与交互

使用块创建模型 Sine WaveTerminator. 要做到这一点,将它们放在工作区上,用信号线连接它们,并使用信号线上下文菜单启用信号记录。 (见 在Engee中记录信号).

simout 1

在此示例中,所有参数(求解器和块参数 Sine Wave)-默认情况下保持不变。 窗口中将显示正弦信号仿真的图形 信号可视化 graphs icon 1.

开启信号记录 signal logging 1 时,在需要信息的那些终端上连接块。

如果电路组装正确,仿真结果将显示在图表上。 仿真结束后,变量 模拟,模拟 它将在*Engee*工作区中自动创建。

simout 2 cn

变量 模拟,模拟 生成 DataFrame是表示为表的数据结构。 此表中的单元格会自动填充仿真结果中的数据。 为方便起见,将表保存为CSV格式(在示例中命名 结果。csv档案源).

到变量 模拟,模拟 您可以通过命令与我们联系 收集资料. 该命令从变量收集数据 模拟,模拟 并将它们保存到一个新变量中。 要执行该命令,请创建一个变量(在此示例中 结果)并通过在命令行中输入以下代码来保存模拟结果:

result = collect(simout["newmodel_1/Sine Wave.1"])

哪里:

  • 结果 -存储模拟数据的变量的名称(可以重命名)。

  • 新模型_1 -当前模型的名称。

  • 罪恶波 -输出数据的块的名称。

  • 1 -读取变量值的端口号。 模拟,模拟 并且信号记录已被添加到其中。

结果可以被视为命令行上的表。

simout 4 cn

接下来,在CSV文件中写下有关模拟的数据。 变量内的数据 结果 将其保存到CSV文件 结果。csv档案源 使用以下命令:

using CSV
CSV.write("result.csv", result)

哪里:

  • 使用CSV -表示代码将使用CSV库中的功能的字符串。 在Julia中,关键字是 使用 它用于从包中导入函数和类型。

  • CSV。写("结果。csv",结果) -将数据写入CSV文件。 功能 CSV。写 接受两个参数:CSV文件"结果。csv"和一个变量 结果. 因此,代码采用一个变量 结果 并将其内容写入"结果。csv"CSV格式的文件。

结果保存在"结果"中。csv"文件,显示在文件浏览器中。

simout 5 cn

生成的CSV文件显示块操作的数值结果。 Sine Wave 使用指定的参数(在此示例中,默认情况下)。 结果以列*时间*和*值*的形式呈现,其中块模拟值对应于每个时间点。 Sine Wave.

还可以使用该块获得具有模拟结果的CSV文件 To CSV.

您可以验证数据是否正确保存在变量中。 模拟,模拟 在视觉上,通过在命令行或脚本编辑器中显示图形:

using Plots
plot(result.time, result.value)

生成的图形将与窗口中较早收到的图形相匹配。 图表 :

simout graph result

因此,本文演示了使用变量保存仿真结果是多么容易。 模拟,模拟 和几行代码。 这种方法易于使用,并以方便和通用的CSV格式确保模拟数据的安全性。