Engee 文档

Engee中仿真结果的软件处理

在本文中,我们将解释如何使用`simout`变量保存模拟结果。 让我们考虑使用一个基于一个简单示例的变量-使用块的正弦波输出 xref:base-lib-sources/sine-wave。adoc[].

默认情况下,'simout’变量不会在模型仿真完成后创建。 选中该框以显示它。 将模拟结果保存到工作区 在 xref:tutorial/settings-engee.adoc 图片:debug article icon 1:

simout open 1 cn

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

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

simout 1

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

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

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

simout 2 cn

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

可以通过"collect"命令访问`simout`变量。 该命令从`simout`变量收集数据并将其保存到新变量中。 要执行该命令,请创建一个变量(在本例中为’result`),并通过在命令提示符中输入以下代码来保存模拟结果:

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

哪里:

  • result – 是存储模拟数据的变量的名称(可以重命名)。

  • newmodel_1 – 是当前模型的名称。

  • Sin Wave – 是输出数据的块的名称。

  • 1 – 是读取`simout`变量值和添加信号记录的端口号。

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

simout 4 cn

接下来,在CSV文件中写下有关模拟的数据。 将`result`变量内的数据保存到CSV文件’result。csv’使用以下命令:

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

哪里:

  • "使用CSV"是一个字符串,指示代码将使用CSV库中的功能。 在Julia中,关键字’using’用于从包中导入函数和类型。

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

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

simout 5 cn

生成的CSV文件显示块操作的数值结果。 xref:base-lib-sources/sine-wave.adoc[] 使用指定的参数(在此示例中,默认情况下)。 结果以列*时间*和*值*的形式呈现,其中块模拟值对应于每个时间点。 xref:base-lib-sources/sine-wave。adoc[].

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

您可以通过在命令行或脚本编辑器中显示图形来直观地验证数据是否正确保存在`simout`变量中。:

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

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

图片:articles/simout-graph-result。png[]

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