我尝试使用python读取dymola生成的.mat文件,但是每次运行模拟时,.mat文件都保存在不同的文件夹中。我怎样才能有一个出口路径?
谢谢。
答案 0 :(得分:3)
Dymola将模拟结果写入工作目录。使用cd
进行更改。
如果使用openModel
加载其他模型,请注意它将使用默认参数更改工作目录。设置changeDirectory=False
可以防止这种情况。
您可以在编写python代码时使Dymola GUI可见,这将使调试更加容易。
这是一个最小的示例,该示例以可见的窗口启动Dymola,更改工作目录并模拟模型。 .mat文件将被写入C:/tmp/dymola
:
dymola = DymolaInterface(showwindow=True)
dymola.cd("C:/tmp/dymola")
dymola.openModel("C:/path/to/some-package.mo", changeDirectory=False)
dymola.simulateModel("someModel")
作为替代方案,您可以在调用simulateModel
时设置输出文件的路径。
通过以下代码,Dymola将在my-result.mat
处创建C:/tmp
:
dymola.simulateModel("someModel", resultFile="C:/tmp/my-result")
答案 1 :(得分:-1)
谢谢您的回答,我不能解决问题,但是我会尽力解释这种情况。我用Buildingpy的(s = Simulator(modelName = modelName,Simulator =“ dymola”,outputDirectory = outputDirectory,packagePath = packagePath)从python调用模型dymola。但是,每次我从python运行一个dymola模拟时,.mat文件都保存在我的工作目录中已经存在的不同文件夹中,并且在每次模拟时.mat文件都存储在这些文件之一中。输出文件“ .mat”的音高异常还是正常,应该像我描述的那样工作?谢谢