DyMat は Dymola や OpenModelica, JModelica.org などの結果ファイル(matファイル)を読み込んだり、他のファイル形式にエクスポートすることができるライブラリです。これを使って JModelica.org によるシミュレーション結果ファイルのデータをプロットします。DyMat の詳細な使用方法は、Dymat User Manual Dy Mat Guideに記載されています。
まず、mat ファイルのリストを表示します。
%ls *.mat
Van der Pole oscillator のシミュレーション結果 VDP_resullt.mat を読み込みます。
import DyMat
d = DyMat.DyMatFile('VDP_result.mat')
すべての変数名を表示します。
for name in d.names():
print(name)
アンダーバーから始まる変数名を除いて表示します。
for name in d.names():
if name.find('_') != 0:
print(name)
プロットするデータを抽出します。
t = d.abscissa('x1', valuesOnly=True)
x1 = d.data('x1')
x2 = d.data('x2')
データをプロットします。
%matplotlib notebook
import matplotlib.pyplot as plt
plt.figure(1)
plt.plot(t, x1, t, x2)
plt.legend(( 'x1', 'x2'))
plt.title('Van der Pol scillator.')
plt.ylabel('Angle (rad)')
plt.xlabel('Time (s)')