使用Python处理Dymola结果1

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguangdblu/article/details/84557580

Dymola的结果文件为.mat格式,一般可用Matlab处理,但由于对Matlab不太熟练,而且考虑到作图需求,故选择用Python处理。处理Dymola数据有专门的库,这里介绍第一个库DyMat,开发者为jraedler

安装DyMat.py

pip install DyMat

读取数据并作图

import DyMat
import matplotlib.pyplot as plt
# 读取结果文件
d=DyMat.DyMatFile('D:/Distributed Energy Systems/DES_result/demo_results.mat')

# 读取所有变量名
print(d.names())

# 读取树状结构的变量名
print(d.nameTree())

# 读取某一变量的值
print(d.data('plantEnergyCheck.summary_economic.EleBuyCost'))

# 读取变量的描述
print(d.description('plantEnergyCheck.summary_economic.EleBuyCost'))

# 读取时间
print(d.abscissa('plantEnergyCheck.summary.fuelVolume',True))

# 画图
t=d.abscissa('plantEnergyCheck.summary_economic.EleBuyCost',True)
y1=d.data('plantEnergyCheck.summary_economic.EleBuyCost')
y2=d.data('plantEnergyCheck.summary_economic.GasCost')
y3=d.data('plantEnergyCheck.summary_economic.operationCost')

plt.figure()
plt.plot(t,y1,color='red',linewidth=0.75,label='ElectricityCost')
plt.plot(t,y2,color='blue',linewidth=0.75,label='GasCost')
plt.plot(t,y3,color='black',linewidth=0.75,label='TotalOperationCost')

plt.xlabel('time[s]')
plt.ylabel('RMB')
ax=plt.gca()
ax.set_title('DES Operation Cost',fontsize='16',color='black')
plt.legend(loc='upper right')

# 大功告成
plt.show()

在这里插入图片描述

参考:DyMat.py自带用户手册

猜你喜欢

转载自blog.csdn.net/yangguangdblu/article/details/84557580