为了节省时间,我尝试读取.mat
文件,而不是再次模拟模型。
我使用了scipy.io.loadmat
,但效果不佳:
res = loadmat('ChatteringControl_result.mat')
res.keys()
['Aclass', 'dataInfo', 'name', 'data_2', 'data_1', 'description']
键不是变量名,并且我不知道如何获取变量值。
然后,我搜索了分辨率,并发现DyMat和可以很好地用于其他变量,但无法获得
time
。 res1 = DyMat.DyMatFile('ChatteringControl_result.mat')
T = res1['T']
t = res1['time']
KeyError: 'time'
那么,如何在JModelica中获得所有结果?(当然不打开Matlab。)就像JModelica中的内置函数一样?
非常感谢!
最佳答案
要使用JModelica加载mat文件,可以使用以下代码:
from pyfmi.common.io import ResultDymolaBinary
res = ResultDymolaBinary("MyResult.mat")
var = res.get_variable_data("myVar")
var.t #Time trajectory
var.x #Variable trajectory
关于modelica - 如何在JModelica中读取.mat输出文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59253157/