Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Simulink.sdi.clear

シミュレーション データ インスペクターからすべてのデータを消去する

説明

Simulink.sdi.clearは、シミュレーション データ インスペクターからすべてのプロットされた信号をクリアし、すべてのデータを削除します。関数Simulink.sdi.clearは、シミュレーション データ インスペクターで構成した基本設定または設定に影響しません。関数Simulink.sdi.clearPreferencesを使用して、シミュレーション データ インスペクターの基本設定を既定値に戻します。関数Simulink.sdi.clearAllSubPlotsを使用して、シミュレーション データ インスペクターからデータを一切削除することなく、プロットされた信号をすべてクリアします。

すべて折りたたむ

この例では、シミュレーション データ インスペクター セッションを作成、保存、および読み込みます。この例では、データをモデル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 つのシミュレーションを実行します。最初のシミュレーションでは、飞行员ブロックからの正弦波出力を使用し、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');
R2011b で導入