从OpenModelica生成的.mat文件导出.csv文件

2024-06-01 13:01:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从使用OpenModelica生成的.mat文件导出.csv文件。以下代码似乎工作得很好:

from scipy.io import loadmat
import numpy
x = loadmat('results.mat')
traj=x['data_2'][0]
numpy.savetxt("results.csv", traj, delimiter=",")

然而,有一个问题我无法解决。第traj=x['data_2'][0]行获取了一个数组,其中包含文件中第一个变量(索引为0)的值(随时间变化)。问题是我无法在我正在寻找的变量和它的索引之间建立对应关系。假设我想打印一个名为“My_model.T”的变量的值。我如何知道这个变量的索引


Tags: 文件csv代码fromioimportnumpydata
1条回答
网友
1楼 · 发布于 2024-06-01 13:01:13

文件格式如下所述:https://www.openmodelica.org/doc/OpenModelicaUsersGuide/1.17/technical_details.html#the-matv4-result-file-format

因此,您需要在name矩阵中查找变量的名称,然后在dataInfo矩阵中查看变量是否存储在data_1data_2中,以及它在该矩阵中的索引

编辑:由于标题是如何从MAT文件创建CSV。。。您可以通过OpenModelica.mos脚本执行此操作:

filterSimulationResults("M_res.mat", "M_res.csv", readSimulationResultVars("M_res.mat"))

相关问题 更多 >