Main Content

Simulink.sdi.deleteSignal

シミュレーション データ インスペクターの信号を削除

説明

Simulink.sdi.deleteSignal(sigID) はシミュレーション データ インスペクターから指定された信号を削除します。

すべて折りたたむ

この例では、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 を割り当てます。

次のいずれかの関数を使用して信号の信号 ID を取得します。

バージョン履歴

R2016a で導入