Main Content

Simulink.sdi.copyRun

シミュレーション データ インスペクター実行のコピー

説明

newRunID = Simulink.sdi.copyRun(runID)runID に対応する実行をコピーし、新しい実行用の実行 ID を返します。新しい実行にはすべてのシミュレーション データと元の実行のメタデータが含まれています。元の実行は維持したまま、信号とメタデータを追加または削除して実行のコピーを変更できます。

[newRunID,runIndex] = Simulink.sdi.copyRun(runID)runID に対応する実行をコピーし、新しい実行の実行 ID とインデックスをシミュレーション データ インスペクター リポジトリに返します。新しい実行にはすべてのシミュレーション データと元の実行のメタデータが含まれています。

[newRunID,runIndex,signalIDs] = Simulink.sdi.copyRun(runID)runID に対応する実行をコピーし、新しい実行内の信号の信号 ID をその実行 ID とインデックスと共にシミュレーション データ インスペクター リポジトリに返します。新しい実行にはすべてのシミュレーション データと元の実行のメタデータが含まれています。

すべて折りたたむ

この例では、Simulink.sdi.copyRunSimulink.sdi.deleteSignal を使用して、元の実行から信号のサブセットを含む実行のコピーを作成する方法について説明します。すべての信号をもつ元の実行を保持したまま、コピーを使用して信号のサブセットの比較を解析および実行できます。たとえば、モデル sldemo_fuelsys は 10 個の信号をログ記録するように設定されます。異なる種類のエラーに対するシステムの応答を比較するために、すべてのログ信号で比較を実行する必要はありません。比較を実行する前にシステムの応答を表さない信号を削除することにより、処理時間を短縮し、結果の表示を簡略化します。

実行の作成

モデル sldemo_fuelsys を読み込み、シミュレーションを実行してシミュレーション データ インスペクターで実行を作成します。最初の実行ではスロットル角度センサーのエラーをシミュレートし、2 回目の実行では排気ガスの酸素センサーのエラーをシミュレートします。

load_system('sldemo_fuelsys')
modelWorkspace = get_param('sldemo_fuelsys','modelworkspace');
modelWorkspace.assignin('throttle_sw',0)
modelWorkspace.assignin('ego_sw',1)
sim('sldemo_fuelsys')

modelWorkspace.assignin('throttle_sw',1)
modelWorkspace.assignin('ego_sw',0)
sim('sldemo_fuelsys')

実行のコピー

シミュレーション データ インスペクターのプログラムによるインターフェイスを使用して、シミュレーション用の Simulink.sdi.Run オブジェクトを取得した後、実行のコピーを作成します。

% Get runs
runIDs = Simulink.sdi.getAllRunIDs;

runID1 = runIDs(end-1);
runID2 = runIDs(end);

run1 = Simulink.sdi.getRun(runID1);
run2 = Simulink.sdi.getRun(runID2);

% Create a copy of each run, truncRun
[truncRun1,runIndex1,signalIDs1] = Simulink.sdi.copyRun(runID1);
[truncRun2,runIndex2,signalIDs2] = Simulink.sdi.copyRun(runID2);

実行コピーで信号を削除

sldemo_fuelsys モデルは、システムの応答を表すいくつかの信号と共に故障スイッチの値をログに記録するように設定されています。排気ガスの酸素センサーが故障した際、スロットル角度センサーがその応答に失敗するときにシステムの応答を比較する場合、故障スイッチの状態を比較しても新しい情報は提供されません。このため、比較を実行する前にスイッチ信号を削除し、不要な計算を除去します。

Simulink.sdi.deleteSignal(signalIDs1(1))
Simulink.sdi.deleteSignal(signalIDs1(3))
Simulink.sdi.deleteSignal(signalIDs1(5))
Simulink.sdi.deleteSignal(signalIDs1(8))

Simulink.sdi.deleteSignal(signalIDs2(1))
Simulink.sdi.deleteSignal(signalIDs2(3))
Simulink.sdi.deleteSignal(signalIDs2(5))
Simulink.sdi.deleteSignal(signalIDs2(8))

打ち切られた実行を比較

Simulink.sdi.copyRunSimulink.sdi.deleteSignal で作成した打ち切られた実行を使用して、さまざまな種類のエラーに対するシステムの応答の比較を実行できます。次に、シミュレーション データ インスペクターを開いて比較結果を表示します。

truncRunDiff = Simulink.sdi.compareRuns(truncRun1,truncRun2);

Simulink.sdi.view

入力引数

すべて折りたたむ

コピーする実行用の実行 ID。シミュレーション データ インスペクターは実行の作成時に実行 ID を割り当てます。実行用の実行 ID は Simulink.sdi.getAllRunIDs または Simulink.sdi.getRunIDByIndex を使用して取得できます。

出力引数

すべて折りたたむ

実行用のコピーの実行 ID。

シミュレーション データ インスペクター リポジトリ内のコピーのインデックス。

実行のコピーで作成された信号のコピーに対する信号 ID が含まれる行列。

バージョン履歴

R2011b で導入