Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink.sdi.save

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

説明

Simulink.sdi.save(fileName) はすべての実行、信号および可視化設定をシミュレーション データ インスペクター セッションとしてファイル fileName に保存します。

セッション ファイルにはデータと可視化情報が含まれます。関数 Simulink.sdi.load を使用して、シミュレーション データ インスペクターでセッション ファイルを開きます。セッション ファイルが開くと、シミュレーション データ インスペクターで既存のデータにデータを追加するか、あるいは既存のデータを消去するかを選択できます。

その他の一連のデータに適用するために可視化情報のみを保存することもできます。ビュー ファイルで再利用するための可視化情報を関数 Simulink.sdi.saveView を使用して保存します。

すべて折りたたむ

この例では、シミュレーション データ インスペクター セッションを作成、保存、および読み込みます。この例では、データをモデル 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')

set_param('slexAircraftExample/Pilot','WaveForm','square')
sim('slexAircraftExample')

ログ データの可視化

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

まず、最新の 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');

入力引数

すべて折りたたむ

セッション ファイルの名前。

例: 'myData.mldatx'

R2011b で導入