WOLFRAM

ファイル形式シミュレーション結果ファイル

シミュレーション結果ファイル情報行列
ヘッダデータ行列

System Modelerは,さまざまなファイル形式を使う.完全なリストは,System Modelerのファイル形式のページを参照されたい.

シミュレーション結果ファイル

シミュレーション結果ファイル(.mat)は,シミュレーション中に生成される.このファイルはSimulation Centerで読み取られるが,Wolfram言語内からアクセスして,特定の値またはデータ集合を抽出することもできる.

それぞれのシミュレーションの最後に,この指定に従って,シミュレーションの結果がレベル4のMATファイルに保存される.このバイナリファイルは,Aclass, name, description, dataInfo, data_1, ..., data_nという一連の行列として解釈できる構造を持つ.

行列を保存する方法には2つある.

ヘッダ

それぞれの行列の前には,6つの項目を持つヘッダが来る.最初の5項目には,どのデータがどのように保存されでいるかについての情報が含まれるが,6つ目の項目は,行列の名前である.

タイプ

保存情報を含む整数である.整数がM0PTMは千の桁,0は百の桁,Pは十の桁,Tは一の桁)として表される場合:

mrows

行列の行数を指定する整数.

ncols

行列の列数を指定する整数.

imagf

行列に虚部が含まれるかどうかを指定する整数.0に設定されると,実部データのみが含まれる.1に設定されると,行列には虚部が含まれる.

namlen

行列名の長さ(単位:バイト)に1を足したもの(ヌル終端される)を指定する整数.

name

namlen ASCIIバイトのヌル終端された文字列.

情報行列

Aclassnamedescriptionの行列は,タイプcharの行列であるが,dataInfoの行列は,タイプint32_tの行列である.それぞれの行列には,シミュレーションと変数についての情報が含まれる.

Aclass

Aclassは,(4,*)のサイズの行列である.列の数は,それらを含む文字列の長さに依存する.この行列から得られる情報は,ファイルの形式(ファイル形式のバージョンと保存形式)およびモデル名である.

以下は,行列Aclassの簡単な図式表示である.

--------------------------------------
Atrajectory
1.1
GettingStarted.MultiDomain.DCMotor
binTrans
--------------------------------------

最初の行は常に,必ず含めなければならない文字列Atrajectoryである.2行目は,ファイル形式のバージョンである.第3行は,シミュレーションを行ったモデルの完全名である.4番目で最後の行は,それに続く行列の形式を決定する.

バージョンは,1.1でも1.2でもよい.バージョンが1.2の場合は,5行目に時間ベクトルをデータ行列にどのように保存するうるかを説明する行が加えられる.5行目がtimeDiffの場合は,最初の時間点にはシミュレーションの開始時間を含み,その後の各項目はその前の点からの増加分を含む.5行目がtimeの場合は,各時間項目は,正常に保存された時間の値である.

name

name行列には,状態,変数,パラメータ,定数等を含むファイルの変数名が含まれる. 番目の行には, 番目の変数の名前が含まれる.行の大域的な長さは,すべての文字列の最大の長さに依存する.

以下は,name行列の簡単な図式表示である.

--------------------------------------
Time
inductor1.i
inertial.phi
...
...
--------------------------------------

description

この3つ目の行列には,すべての変数についての記述のテキストが含まれる.これは,Modelicaで変数を定義するときに加えることがある文字列に対応する.nVarsが変数の総数である場合には,行列の記述は(nVars,*)のサイズの行列である.

以下は,description行列の簡単な図式表示である.

--------------------------------------
Time
Current flowing from pin p to n [A]
Absolute rotation angle of component
...
...
--------------------------------------

変数に関連の記述がない場合には,行は空白行になる.

dataInfo

4つ目の行列dataInfoは,タイプint32_tで,(nVars,4)のサイズの行列である.ここでnVarsは変数の総数である.行列には,それぞれの変数がデータ行列のどこにどのように保存されているかについての情報が含まれる. 番目の行は, 番目の変数についての記述である.

以下は,列の値とその意味の対応表である.

データ行列

シミュレーションには複数の行列を含むことができ,そのそれぞれが特定の名前data_<index>を持つ.ここで<index>は,行列の指標である.データ行列は常にタイプdoubleの行列である.これらの行列についての情報は,関心地の位置と同様,その前の行列dataInfoから抽出することができる.