Main Content

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

snapshot

クラス: Simulink.sdi.CustomSnapshot
パッケージ: Simulink.sdi

カスタム スナップショットを作成する

構文

fig = snap.snapshot
[fig,image] = snap.snapshot
fig = snap.snapshot(Name,Value)
[fig,image] = snap.snapshot

説明

fig = snap.snapshot は、Simulink.sdi.CustomSnapshot オブジェクト snap のプロパティに従って Figure を作成し、Figure のハンドル fig を返します。

[fig,image] = snap.snapshot は、Simulink.sdi.CustomSnapshot オブジェクト snap のプロパティに従って Figure を作成し、Figure のハンドル fig とイメージ データの配列 image を返します。

fig = snap.snapshot(Name,Value) は、1 つ以上の Name,Value ペアの引数で指定された追加のオプションを使用して、Simulink.sdi.CustomSnapshot オブジェクト snap のプロパティに従って Figure を作成します。この構文では Figure ハンドル fig が返されます。

[fig,image] = snap.snapshot は、1 つ以上の Name,Value ペアの引数で指定された追加のオプションを使用して、Simulink.sdi.CustomSnapshot オブジェクト snap のプロパティに従って Figure を作成します。この構文では Figure ハンドル fig、およびイメージ データの配列 image が返されます。

入力引数

すべて展開する

名前と値のペアの引数

オプションのコンマ区切りされた Name,Value の引数ペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

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

作成するスナップショットのタイプ。

  • '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' を指定したときにスナップショットを格納するイメージ ファイルの名前。

例: 'filename','MyImage.png'

データ型: char | string

Figure のプロパティ。cell 配列として指定します。Figure のプロパティ で説明されている Figure プロパティの設定を含めることができます。

例: 'props',{'Name','MyData','NumberTitle','off'}

データ型: char | string

出力引数

すべて展開する

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

イメージ データの配列。image の出力は、入力引数や名前と値のペア to を指定せずに Simulink.sdi.snapshot を使用した場合や、'to','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 = vdpRun.getSignalByIndex(1);
sig2 = vdpRun.getSignalByIndex(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]};
snap.plotOnSubPlot(1,1,sig1,true)
snap.plotOnSubPlot(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. Axes 1 contains an object of type line. This object represents x1. Axes 2 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.copyRunViewSettingsSimulink.sdi.CustomSnapshot オブジェクトのプロット設定を自動的に更新しないため、plot 入力を false として指定します。

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

新しいシミュレーション実行のスナップショットをキャプチャ

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

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

fig = snap.snapshot("to","figure");

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents x2. Axes 2 contains an object of type line. This object represents x1.

R2018a で導入