Main Content

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

getSignalByIndex

インデックスによって Simulink.sdi.Run オブジェクト内の信号を取得

説明

sig = getSignalByIndex(runObj,idx) は、Simulink.sdi.Run オブジェクト runObj 内の idx によって指定されたインデックスにある Simulink.sdi.Signal オブジェクト sig を返します。

すべて折りたたむ

この例では、信号を記録して作成されたシミュレーション データ インスペクター実行の Simulink.sdi.Run オブジェクトにアクセスする方法を示します。Simulink.sdi.Run オブジェクトから、ログに記録された信号データとメタデータが含まれる Simulink.sdi.Signal オブジェクトを取得できます。Signal オブジェクトと関数 plotOnSubPlot を使用して、データをシミュレーション データ インスペクターにプロットできます。

シミュレーション実行の作成および Run オブジェクトへのアクセス

ex_vdp モデルは 2 つの信号を記録します。ログ データが含まれるシミュレーション実行を作成するには、モデルのシミュレーションを実行します。

sim('ex_vdp');

シミュレーション データ インスペクターは、シミュレーションで作成された各実行に一意の数値実行 ID を割り当てるか、データをインポートするか、セッションを開くことによって実行を追跡します。直前に実行したシミュレーションの実行オブジェクトにアクセスするには、関数 Simulink.sdi.getAllRunIDs を使用して、返されるベクトルで最後の実行 ID を取ります。

runIDs = Simulink.sdi.getAllRunIDs;
runID = runIDs(end);

実行の実行 ID を取得すると、関数 Simulink.sdi.getRun を使用して実行に対応する Simulink.sdi.Run オブジェクトを取得できます。Run オブジェクトを使用して、実行内の信号の数など、実行に関連付けられているメタデータをチェックできます。

vdpRun = Simulink.sdi.getRun(runID);

vdpRun.SignalCount
ans = int32
    2

Signal オブジェクトを使用したデータのプロット

関数 getSignalByIndex を使用して、Run オブジェクト vdpRun から信号にアクセスします。

signal1 = getSignalByIndex(vdpRun,1);
signal2 = getSignalByIndex(vdpRun,2);

関数 Simulink.sdi.setSubPlotLayout を使用して 2 行 1 列のレイアウトを指定します。

Simulink.sdi.setSubPlotLayout(2,1)

データをプロットする前に、既にプロットされている任意のデータを関数 Simulink.sdi.clearAllSubPlots を使用して消去します。

Simulink.sdi.clearAllSubPlots

サブプロットごとに 1 つの信号をプロットします。最初のサブプロットで信号をプロットするために、信号の checked プロパティを設定できます。最初のサブプロット以外のサブプロットで信号をプロットするには、関数 plotOnSubPlot を使用します。

signal1.Checked = true;
plotOnSubPlot(signal2,2,1,true);

プロットされたデータの表示

直前に作成したプロットを表示するには、関数 Simulink.sdi.view を使用してシミュレーション データ インスペクターを開きます。

入力引数

すべて折りたたむ

アクセスする信号が含まれる実行。Simulink.sdi.Run オブジェクトとして指定します。

実行内の信号のインデックス。整数として指定します。

出力引数

すべて折りたたむ

Run オブジェクト内の指定されたインデックスにある信号。Simulink.sdi.Signal オブジェクトとして返されます。

バージョン履歴

R2012b で導入