Dymola 无法加载 MAT 文件

Dymola can't load MAT-file

我正在尝试加载由 matlab 输出的 .mat 文件,但它无法显示变量名称。

我检查了matlab 中mat 文件相关的首选项,我确信它满足dymola 的要求。

我想在 dymola 中使用二维插值函数。但是我的数据存储在matlab中。我试图通过这种方式直接导入但失败了。

然后我尝试了另一种导入方式。

可以看到没有显示变量。 但是 dymola 创建的另一个 mat 文件是完全正常的。

我猜我的matlab可能有问题,但我不知道怎么办

这是我的 mat 文件 https://drive.google.com/file/d/1kX_cBIu6cwkG-gDD32WnJvs2Edxzg_j_/view?usp=sharing

查看您的 .mat 文件后,我有几条评论可能会有所帮助:

  • 可能最重要的评论是关于 MSL CombiTables 中使用的格式:您需要将轴存储在 2D table 中。这是模型文档的一部分,可以访问例如通过切换到 Dymola 的“文档”功能区,并在包浏览器中激活相应的 CombiTable。有关格式的文档的重要部分说:

  • 关于通过 GUI 导入,请注意 Dymola 手册中的段落:

Data for the table can also be loaded using the Import… button. The data can be imported from external Matlab 4 (.mat files), Scientific Data Format (.sdf) or Comma separated values files. Comma separated values files can have extensions .csv or .txt. Files in .txt format can have tab, space, semicolon or comma as separators.

因此您需要将文件保存为 v4 格式以便通过 GUI 导入。

  • 作为替代方案:您的计算机上应该有“SDF 编辑器”(在 Dymola 的 bin64 文件夹中,以防它不在“开始”菜单中)。该工具将能够读取 mat v7.3 文件,例如通过将其拖放到 UI 中,您将能够使用 CTRL+C 从那里复制突出显示的数据,并使用矩阵编辑器中的“粘贴矩阵”按钮将其粘贴到矩阵编辑器中,如下所示.

  • 您也可以直接在 MSL 的组合表中使用 .mat 文件。这可以通过像这样配置 table 来完成:

关于直接使用文件中的数据:通过单击上面显示的“信息”按钮阅读有关如何创建文件的文档是有意义的。对于 Dymola,我认为创建一个 MATLAB v7 文件以从文件中读取 table 最有意义,因为使用 v7.3 文件会给我一个错误。

直接从文件中读取数据的优势在于,对 .mat 文件的更改将直接影响模拟 - 无需重新导入。

就我个人而言,我会使用“从文件读取”变体,因为它应该是最省力的,并且无需在发生更改时重新导入数据。