Main Content

Simulink.sdi.load

シミュレーション データ インスペクターのセッションまたはビューの読み込み

説明

valid = Simulink.sdi.load(fileName) は、fileName によって指定されたシミュレーション データ インスペクターのセッション ファイルまたは MAT ファイルのデータと可視化設定を読み込み、fileName が、シミュレーション データ インスペクターでサポートされるデータを含む有効なセッション ファイルまたは MAT ファイルである場合に 1 を返します。

シミュレーション データ インスペクター ビューも MLDATX ファイルとして保存されます。ビュー ファイルを読み込むには、関数 Simulink.sdi.loadView を使用します。

すべて折りたたむ

この例では、シミュレーション データ インスペクター セッションを作成、保存、および読み込みます。この例では、データをモデル slexAircraftExample に記録し、ログ データをシミュレーション データ インスペクター セッションで可視化します。シミュレーション データ インスペクターを使用するたびに、セッションを作成および変更します。関数 Simulink.sdi.save を使用して、セッションのデータおよび関連する可視化設定を MLDATX ファイルに保存できます。後でデータを確認する場合は、関数 Simulink.sdi.load を使用してセッションを読み込むことができます。

シミュレーション データ インスペクターへのデータのログ記録

この例では、モデル slexAircraftExample のシミュレーションのデータをシミュレーション データ インスペクターに記録します。モデルはデータを記録するように設定されていません。モデルを読み込み、Stick 信号、alpha, rad 信号、および q, rad/sec 信号をログ記録するようマークします。

load_system('slexAircraftExample')

Simulink.sdi.markSignalForStreaming('slexAircraftExample/Pilot',1,'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',3,'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',4,'on')

この例では、モデルの 2 つのシミュレーションを実行します。最初のシミュレーションでは、Pilot ブロックからの正弦波出力を使用し、2 番目のシミュレーションでは矩形波出力を使用します。

set_param('slexAircraftExample/Pilot','WaveForm','sine')
sim('slexAircraftExample')
ans = 
  Simulink.SimulationOutput:
                logsout: [1x1 Simulink.SimulationData.Dataset] 
                   tout: [1235x1 double] 
                   xout: [1x1 Simulink.SimulationData.Dataset] 
                   yout: [1x1 Simulink.SimulationData.Dataset] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

set_param('slexAircraftExample/Pilot','WaveForm','square')
sim('slexAircraftExample')
ans = 
  Simulink.SimulationOutput:
                logsout: [1x1 Simulink.SimulationData.Dataset] 
                   tout: [1381x1 double] 
                   xout: [1x1 Simulink.SimulationData.Dataset] 
                   yout: [1x1 Simulink.SimulationData.Dataset] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

ログ データの可視化

シミュレーション データ インスペクターのプログラムによるインターフェイスを使用して、シミュレーションのログ データにアクセスできます。シミュレーション データ インスペクターのプログラムによるインターフェイスを使用してデータにアクセスするときに、関数を使用してシミュレーション データ インスペクターでプロットを作成できます。

まず、最新の 2 つの実行の実行 ID にアクセスしてから、対応する Simulink.sdi.Run オブジェクトを取得します。Run オブジェクトを使用することで、シミュレーションのログ データにアクセスできます。

runIDs = Simulink.sdi.getAllRunIDs;
sineRunID = runIDs(end-1);
squareRunID = runIDs(end);

sineRun = Simulink.sdi.getRun(sineRunID);
squareRun = Simulink.sdi.getRun(squareRunID);

モデルの入力と出力間の関係を解析するとします。2 つのシミュレーション実行から入力信号と出力信号の Simulink.sdi.Signal オブジェクトを取得します。

sineOut = getSignalByIndex(sineRun,1);
sineIn = getSignalByIndex(sineRun,3);

squareOut = getSignalByIndex(squareRun,1);
squareIn = getSignalByIndex(squareRun,3);

シミュレーション データ インスペクターでのサブプロットのレイアウトを 21 列に変更し、最初のシミュレーション実行の信号を上部のプロットに、2 番目の実行の信号を下部のプロットにプロットします。

Simulink.sdi.setSubPlotLayout(2,1)

plotOnSubPlot(sineIn,1,1,true)
plotOnSubPlot(sineOut,1,1,true)

plotOnSubPlot(squareIn,2,1,true)
plotOnSubPlot(squareOut,2,1,true)

シミュレーション データ インスペクター セッションの保存

プロットされたデータをシミュレーション データ インスペクターで表示するには、コマンド ウィンドウに Simulink.sdi.view と入力します。

次に、シミュレーション データ インスペクター セッションを MLDATX ファイルとして保存します。

Simulink.sdi.save('myData.mldatx')

シミュレーション データ インスペクター セッションの読み込み

シナリオを再現して後で同じデータを参照するには、シミュレーション データ インスペクターからデータをクリアして、サブプロットのレイアウトを 11 列にリセットします。

Simulink.sdi.clear
Simulink.sdi.setSubPlotLayout(1,1)

セッション ファイルを読み込み、データの操作を再開します。シミュレーション データ インスペクターを開いて、関数 Simulink.sdi.view を使用して結果を表示することができます。

Simulink.sdi.load('myData.mldatx');

入力引数

すべて折りたたむ

読み込むセッション ファイルまたは MAT ファイルの名前。string または文字ベクトルとして指定します。MLDATX ファイルからデータを読み込むには、ファイル拡張子を指定しなければなりません。

例: 'myData.mldatx'

例: 'myData.mat'

出力引数

すべて折りたたむ

ファイルの有効性インジケーター。1 (true) または 0 (false) として返されます。0 の戻り値は、シミュレーション データ インスペクターでセッション ファイルが読み込まれていない、または MAT ファイルからデータがインポートされていないことを示します。

バージョン履歴

R2011b で導入