Main Content

Simulink.sdi.copyRunViewSettings

信号のライン スタイルと色を、ある実行から別の実行にコピー

説明

sigIDs = Simulink.sdi.copyRunViewSettings(run1,run2,plot)runID1 から runID2 に一致する信号のライン スタイルと色の指定をコピーします。run1run2 に実行 ID を指定するか、Simulink.sdi.Run オブジェクトとして指定できます。plottrue として指定すると、Simulink.sdi.copyRunViewSettings は両方の実行で信号パラメーターも変更するため、プロットされる整列後の信号が run2 から得られるようになります。関数は、シミュレーション データ インスペクターが 2 つの実行間で整列した信号に対する信号識別子の配列を返します。シミュレーション データ インスペクターによる実行間の信号の整列方法の詳細については、シミュレーション データ インスペクターでデータを比較する方法を参照してください。

すべて折りたたむ

ある実行から別の実行に表示設定をコピーし、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.

入力引数

すべて折りたたむ

コピーする表示設定をもつ実行。実行 ID または Simulink.sdi.Run オブジェクトで指定します。シミュレーション データ インスペクターは実行の作成時に実行 ID を割り当てます。実行用の実行 ID は Simulink.sdi.getAllRunIDs または Simulink.sdi.getRunIDByIndex を使用して取得できます。

表示設定のコピー先である実行。その実行 ID または Simulink.sdi.Run オブジェクトで指定します。シミュレーション データ インスペクターは実行の作成時に実行 ID を割り当てます。実行用の実行 ID は Simulink.sdi.getAllRunIDs または Simulink.sdi.getRunIDByIndex を使用して取得できます。

シミュレーション データ インスペクターが run1run2 に対応する実行でプロット設定を変更するかどうかを指定します。

  • plottrue の場合、プロットされる整列後の信号が run2 から得られるようにシミュレーション データ インスペクターは信号パラメーターを変更します。

  • plotfalse の場合、シミュレーション データ インスペクターはプロットされる信号を変更しません。

データ型: logical

出力引数

すべて折りたたむ

run1 内の信号と整列された run2 内の信号に対する信号 ID が含まれ、表示設定が変更された行列。

バージョン履歴

R2016a で導入