Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

シミュレーション データ インスペクター

データとシミュレーション結果を検証および比較し、モデルの設計を検証して反復する

説明

シミュレーション データ インスペクターは、複数の種類のデータを可視化して比較します。

シミュレーション データ インスペクターを使用すると、ワークフローの複数の段階で時系列データを検証および比較できます。このワークフロー例では、シミュレーション データ インスペクターによって設計サイクルのすべての段階がどのようにサポートされるかを示しています。

  1. シミュレーション データ インスペクターでのシミュレーション データの表示 (Simulink)またはImport Data from Workspace or File into Simulation Data Inspector (Simulink)

    シミュレーション データ インスペクターにデータを記録するように設定されたモデルでシミュレーションを実行するか、ワークスペースまたはファイルからデータをインポートします。モデルのブロック線図、パラメーター値、モデル コンフィギュレーションを繰り返し変更しながら、モデルの入力データを表示して確認したり、記録されたシミュレーション データを検証できます。

  2. シミュレーション データの検証 (Simulink)

    複数のサブプロットに信号をプロットしたり、指定したプロットの座標軸をズームイン/ズームアウトしたり、データ カーソルを使用して、データを理解して評価します。時間、配列、マップ、スパークライン、XY のプロットなど、いくつかの可視化から選択できます。データの効果的な表示の詳細については、シミュレーション データ インスペクターを使用したプロットの作成 (Simulink)を参照してください。

  3. シミュレーション データの比較 (Simulink)

    個々の信号またはシミュレーションの実行を比較し、相対許容誤差、絶対許容誤差、および時間の許容誤差との比較結果を解析できます。シミュレーション データ インスペクターの比較ツールは、反復設計を容易にし、許容誤差の要件を満たしていない信号を強調表示できます。比較演算の詳細については、シミュレーション データ インスペクターでデータを比較する方法 (Simulink)を参照してください。

  4. シミュレーション データ インスペクターのデータと表示の保存および共有 (Simulink)

    シミュレーション データ インスペクターのデータとビューを保存して、他のユーザーと所見を共有します。

コマンド ラインからシミュレーション データ インスペクターの機能を利用することもできます。詳細については、プログラムによるデータの検証と比較 (Simulink)を参照してください。

The Inspect pane of the Simulation Data Inspector shows three subplots. The subplots show time plots of data gathered from three runs of the model sldemo_autotrans. The first subplot shows the EngineRPM signals from all three runs. The second subplot shows the ShiftLogic signals from all three runs. The third subplot shows the VehicleSpeed signal from all three runs.

シミュレーション データ インスペクター を開く

  • Simulink® ツールストリップ: [シミュレーション] タブで、[結果の確認] にある [データ インスペクター] をクリックします。

  • モデルから、信号のストリーミング バッジをクリックしてシミュレーション データ インスペクターを開き、信号をプロットします。

  • MATLAB® コマンド プロンプトで、

    • Simulink.sdi.view (Simulink)」と入力して、シミュレーション データ インスペクターを開きます。

    • Simulink.sdi.plot (Simulink) を使用して、シミュレーション データ インスペクターを開き、データをプロットします。

すべて展開する

実行を作成し、それにデータを追加してから、シミュレーション データ インスペクターでそのデータを表示します。

実行用データの作成

timeseries オブジェクトを作成し、正弦信号と余弦信号のデータを含めます。各 timeseries オブジェクトに記述名を付けます。

time = linspace(0,20,100);

sine_vals = sin(2*pi/5*time);
sine_ts = timeseries(sine_vals,time);
sine_ts.Name = "Sine, T=5";

cos_vals = cos(2*pi/8*time);
cos_ts = timeseries(cos_vals,time);
cos_ts.Name = "Cosine, T=8";

実行の作成とデータの追加

関数 Simulink.sdi.view を使用して、シミュレーション データ インスペクターを開きます。

Simulink.sdi.view

ワークスペースからシミュレーション データ インスペクターにデータをインポートするには、関数 Simulink.sdi.Run.create を使用して Simulink.sdi.Run オブジェクトを作成します。Run オブジェクトの Name プロパティと Description プロパティを使用して、実行に関する情報をそのメタデータに追加します。

sinusoidsRun = Simulink.sdi.Run.create;
sinusoidsRun.Name = "Sinusoids";
sinusoidsRun.Description = "Sine and cosine signals with different frequencies";

関数 add を使用して、ワークスペースで作成したデータを空の実行に追加します。

add(sinusoidsRun,"vars",sine_ts,cos_ts);

シミュレーション データ インスペクターでのデータのプロット

関数 getSignalByIndex を使用して、信号データが含まれる Simulink.sdi.Signal オブジェクトにアクセスします。Simulink.sdi.Signal オブジェクトのプロパティを使用して、信号ラインのスタイルと色を指定し、シミュレーション データ インスペクターで信号をプロットできます。各信号の LineColor プロパティと LineDashed プロパティを指定します。

sine_sig = getSignalByIndex(sinusoidsRun,1);
sine_sig.LineColor = [0 0 1];
sine_sig.LineDashed = "-.";

cos_sig = sinusoidsRun.getSignalByIndex(2);
cos_sig.LineColor = [1 0 0];
cos_sig.LineDashed = "--";

関数 Simulink.sdi.setSubPlotLayout を使用して、シミュレーション データ インスペクターのプロット領域で 21 列のサブプロット レイアウトを設定します。次に、関数 plotOnSubplot を使用して、上のサブプロットに正弦信号をプロットし、下のサブプロットに余弦信号をプロットします。

Simulink.sdi.setSubPlotLayout(2,1);

plotOnSubPlot(sine_sig,1,1,true);
plotOnSubPlot(cos_sig,2,1,true);

シミュレーション データ インスペクターを閉じてデータを保存

プロットされた信号データの検査が完了したら、シミュレーション データ インスペクターを閉じて、セッションを MLDATX ファイルに保存できます。

Simulink.sdi.close("sinusoids.mldatx")

関数 Simulink.sdi.plot を使用して、シミュレーション データ インスペクターでシミュレーション結果をプロットできます。モデル vdp を開きます。これは、ファン デル ポールの 2 階微分方程式をモデル化したものです。モデルの詳細については、Van der Pol Oscillator (Simulink)を参照してください。

mdl = "vdp";
open_system(mdl)

The vdp model

モデルのシミュレーションを実行します。このモデルは、2 つの信号 x1x2 をログ記録します。シミュレーション結果は、out という名前の単一の SimulationOutput オブジェクトに保存されます。

out = sim(mdl);

関数 Simulink.sdi.plot を使用して、シミュレーション データ インスペクターを開いて結果をプロットします。

Simulink.sdi.plot(out);

Simulation results are plotted on two vertically aligned subplots in the Simulation Data Inspector. The x1 signal is plotted in the upper subplot. The x2 signal is plotted in the lower subplot.

シミュレーション データ インスペクターのプログラム インターフェイスを使用して、複数の実行内にある同じ信号のパラメーターを変更できます。この例では、データの 4 回すべての実行において信号に絶対許容誤差 0.1 を追加します。

まず、ワークスペースをクリアし、データを指定してシミュレーション データ インスペクターのセッションを読み込みます。航空機の縦方向コントローラーの Simulink® モデルについて、4 つのシミュレーションから記録されたデータがセッションに含まれます。

Simulink.sdi.clear
Simulink.sdi.load('AircraftExample.mldatx');

関数 Simulink.sdi.getRunCount を使用して、シミュレーション データ インスペクターの実行回数を取得します。この数値を、各実行を処理する for ループのインデックスとして使用できます。

count = Simulink.sdi.getRunCount;

次に、for ループを使用して、絶対許容誤差 0.1 を各実行の最初の信号に割り当てます。

for a = 1:count
    runID = Simulink.sdi.getRunIDByIndex(a);
    aircraftRun = Simulink.sdi.getRun(runID);
    sig = getSignalByIndex(aircraftRun,1);
    sig.AbsTol = 0.1;
end

関連する例

プログラムでの使用

すべて展開する

Simulink.sdi.view は、MATLAB コマンド ラインからシミュレーション データ インスペクターを開きます。

バージョン履歴

R2010b で導入

参考

関数