Main Content

Simulink.sdi.snapshot

シミュレーション データ インスペクター プロットのコンテンツをキャプチャ

説明

fig = Simulink.sdi.snapshot は、開いているシミュレーション データ インスペクター セッションで Figure ハンドル fig を使用してプロット領域の Figure を作成します。

[fig,image] = Simulink.sdi.snapshot は、開いているシミュレーション データ インスペクター セッションで Figure ハンドル fig を使用してプロット領域の Figure を作成し、イメージ データを配列 image で返します。

Simulink.sdi.snapshot(Name,Value) は、名前と値のペアによって指定されたオプションに従って、シミュレーション データ インスペクター プロットのイメージをキャプチャします。

fig = Simulink.sdi.snapshot(Name,Value) は、名前と値のペアによって指定されたオプションに従って、シミュレーション データ インスペクター プロットのイメージをキャプチャします。Figure が作成されている場合、この構文は Figure ハンドル fig を返します。

[fig, image] = Simulink.sdi.snapshot(Name,Value) は、名前と値のペアによって指定されたオプションに従って、シミュレーション データ インスペクター プロットのイメージをキャプチャします。指定されたオプションが適切な場合、この構文は Figure ハンドル fig とイメージ データの配列 image を返します。

すべて折りたたむ

ある実行から別の実行に表示設定をコピーし、Simulink.sdi.CustomSnapshot オブジェクトを使用して Figure を作成します。

モデルのシミュレーションと実行オブジェクトの取得

出力データを保存するように vdp モデルを構成します。シミュレーションを実行してデータを作成します。

load_system("vdp")
set_param("vdp","SaveFormat","Dataset","SaveOutput","on")
set_param("vdp/Mu","Gain","1");
sim("vdp");

シミュレーション データ インスペクターのプログラムによるインターフェイスを使用して、実行データにアクセスします。

runIndex = Simulink.sdi.getRunCount;
runID = Simulink.sdi.getRunIDByIndex(runIndex);
vdpRun = Simulink.sdi.getRun(runID);

信号表示設定の変更

Simulink.sdi.Run オブジェクトを使用して実行内の信号にアクセスします。次に、信号の表示設定を変更します。この例では、各信号のラインの色とスタイルを指定します。実行の表示設定は、各信号の表示設定とプロット領域に対して指定された表示設定で構成されています。

sig1 = getSignalByIndex(vdpRun,1);
sig2 = getSignalByIndex(vdpRun,2);

sig1.LineColor = [0 0 1];
sig1.LineDashed = "-.";

sig2.LineColor = [1 0 0];
sig2.LineDashed = ":";

シミュレーション データ インスペクターからのスナップショットの取得

Simulink.sdi.CustomSnapshot オブジェクトを作成し、関数 Simulink.sdi.snapshot を使用してシミュレーション データ インスペクターのコンテンツのスナップショットをプログラムによりキャプチャします。

snap = Simulink.sdi.CustomSnapshot;

Simulink.sdi.CustomSnapshot オブジェクトのプロパティを使用して、サブプロット レイアウトや軸の範囲といったプロット設定を構成したり、信号をプロットしたりできます。Simulink.sdi.CustomSnapshot オブジェクトを使用して Figure を作成するときに、これらのプロット設定はシミュレーション データ インスペクターに影響しません。

snap.Rows = 2;
snap.YRange = {[-2.25 2.25],[-3 3]};
plotOnSubPlot(snap,1,1,sig1,true)
plotOnSubPlot(snap,2,1,sig2,true)

関数 Simulink.sdi.snapshot を使用して、Simulink.sdi.CustomSnapshot オブジェクトのプロパティで指定した Figure を生成します。

fig = Simulink.sdi.snapshot("From","custom","To","figure","Settings",snap);

Figure contains 2 axes objects. Axes object 1 with xlabel Time (seconds) contains an object of type line. This object represents x1. Axes object 2 with xlabel Time (seconds) contains an object of type line. This object represents x2.

新しいシミュレーション実行への表示設定のコピー

別の Mu 値でモデルを再度シミュレートします。シミュレーション データ インスペクターのプログラムによるインターフェイスを使用して、シミュレーション データにアクセスします。

set_param("vdp/Mu","Gain",".5")
sim("vdp");

runIndex2 = Simulink.sdi.getRunCount;
runID2 = Simulink.sdi.getRunIDByIndex(runIndex2);
run2 = Simulink.sdi.getRun(runID2);

前の手順で作成したような新たな出力データのプロットを作成するには、関数 Simulink.sdi.copyRunViewSettings を使用して、表示設定を 1 行のコードで実行にコピーできます。この関数は Simulink.sdi.CustomSnapshot オブジェクトのプロット設定を自動的に更新しないため、プロットを更新するかどうかを決定する入力を false として指定します。

sigIDs = Simulink.sdi.copyRunViewSettings(runID,runID2,false);

新しいシミュレーション実行のスナップショットの取得

Simulink.sdi.CustomSnapshot オブジェクトを使用して新しいシミュレーション実行のスナップショットをキャプチャします。最初に、サブプロットから信号をクリアします。次に、新しい実行から信号をプロットし、別のスナップショットをキャプチャします。

clearSignals(snap)
snap.YRange = {[-2.25 2.25],[-8 8]};
plotOnSubPlot(snap,1,1,sigIDs(1),true)
plotOnSubPlot(snap,2,1,sigIDs(2),true)


fig = snapshot(snap,"To","figure");

Figure contains 2 axes objects. Axes object 1 with xlabel Time (seconds) contains an object of type line. This object represents x2. Axes object 2 with xlabel Time (seconds) contains an object of type line. This object represents x1.

入力引数

すべて折りたたむ

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

R2021a より前は、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'to','figure','props',{'Name','My Data'}

スナップショットに含めるコンテンツ。

  • 'opened' — 開いているシミュレーション データ インスペクター セッションのグラフィカルな表示領域にあるすべてのサブプロットを含めます。

  • 'active' — 開いているシミュレーション データ インスペクター セッションにあるアクティブな (選択されている) サブプロットのみを含めます。

  • 'comparison' — 選択されている比較実行の比較プロットまたは開いているシミュレーション データ インスペクター セッションにある信号を含めます。

  • 'custom' — 名前と値のペア settingsSimulink.sdi.CustomSnapshot オブジェクトによって指定されたコンテンツを含めます。'from','custom' オプションを使用すると、シミュレーション データ インスペクターを開いたり、開いているシミュレーション データ インスペクター セッションに影響を与えることなくスナップショットを作成できます。'from','custom' を指定する場合、名前と値のペア settings を含めます。

例: 'from','comparison'

データ型: char | string

作成するスナップショットのタイプ。以下として指定します。

  • "image" — Figure を作成し、Figure ハンドルとイメージ データの配列を返します。"To","image" を指定すると、figimage のどちらの出力にも値があります。

  • "figure" — Figure を作成し、Figure ハンドルを返します。"To","figure" を指定すると、fig の出力には値があり、image の出力は空になります。

  • "file" — 名前と値の引数 Filename によって指定された名前をもつ PNG ファイルに保存します。名前と値の引数 Filename を指定しない場合、ファイルには plots.png という名前が付けられます。"To","file" を指定すると、figimage の出力はどちらも空になります。

  • "clipboard" — プロットをシステムのクリップボードにコピーします。クリップボードから、イメージを Microsoft® Word などの別のプログラムに貼り付けることができます。"To","clipboard" を指定すると、figimage の出力はどちらも空になります。

例: "To","file"

データ型: char | string

"To","file" を指定したときにスナップショットを格納するイメージ ファイルの名前。文字配列または string として指定します。

例: "Filename","MyImage.png"

データ型: char | string

Figure のプロパティ。cell 配列として指定します。Figure をカスタマイズするには、Figure のプロパティ で説明されている Figure プロパティの設定を含めることができます。

例: "Props",{"Name","MyData","NumberTitle","off"}

データ型: char | string

カスタム スナップショット設定を指定する Simulink.sdi.CustomSnapshot オブジェクト。名前と値のペア settings を使用してイメージの寸法 (ピクセル単位)、サブプロット レイアウト、x 軸と y 軸の範囲を指定することができます。

例: 'settings',customSnap

データ型: char | string

出力引数

すべて折りたたむ

Figure のハンドル。Figure ハンドルとして指定します。指定されたオプションで Figure が作成されないときは、fig の出力は空になります。

イメージ データ。配列として返されます。image の出力は、入力引数や名前と値の引数 To を指定せずに Simulink.sdi.snapshot を使用した場合や、'To','image' を指定した場合に値をもちます。

バージョン履歴

R2018a で導入