最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink.sdi.DiffSignalResult クラス

パッケージ: Simulink.sdi

信号の比較結果にアクセスする

説明

Simulink.sdi.DiffSignalResult オブジェクトは、信号比較で作成されたデータとメタデータへのアクセスを提供します。Simulink.sdi.DiffSignalResult オブジェクトは、差分信号、許容誤差データ、および同期された信号データへのアクセスを提供します。

作成

DiffSignalObj = Simulink.sdi.compareSignals(signalID1, signalID2) は、sigID1 および sigID2 に対応する信号の比較結果へのアクセスを提供する Simulink.sdi.DiffSignalResult オブジェクトを作成します。

DiffSignalObj = DiffRunObj.getResultByIndex(index) は、Simulink.sdi.DiffRunResult オブジェクト内の index に対応する信号比較の Simulink.sdi.DiffSignalResult オブジェクトを返します。

入力引数

すべて展開する

比較の [ベースライン] 信号の数値信号識別子。

比較の [比較対象] 信号の数値信号識別子。

実行内の信号のインデックス。

プロパティ

すべて展開する

DiffSignalResult オブジェクトのステータスを示します。ステータスは、特定の信号比較が、比較時間が長い比較プロセスのどこにあるかを示すことも、信号比較の結果に関する情報を示すこともできます。

  • WithinTolerance — 信号比較が完了し、比較したすべてのデータ点が指定した許容誤差内にあります。

  • OutOfTolerance — 信号比較が完了し、比較した一部のデータ点が指定した許容誤差外にあります。

  • Unaligned[ベースライン] 実行からの信号が [比較対象] 実行の信号と整列しませんでした。

  • Empty — 整列後の [ベースライン] または [比較対象] 信号にデータが含まれていません。

  • EmptySynced — 同期後の [ベースライン] または [比較対象] 信号にデータが含まれていません。

  • Canceled — この信号結果が計算される前にユーザーが比較をキャンセルしたか、アルゴリズムによって比較が終了したため、信号結果は計算されませんでした。

  • Pending — 比較は処理中であり、信号結果の計算は開始していません。

  • Processing — 信号結果比較が処理中です。

  • UnitsMismatch[ベースライン][比較対象] の信号単位が一致しません。

  • Unsupported — シミュレーション データ インスペクターの比較アルゴリズムは、この信号のタイプをサポートしていません。たとえば、double に変換すると精度が低下するデータ型をもつ信号はサポートされていません。

整列、許容誤差、同期の詳細については、シミュレーション データ インスペクターでデータを比較する方法を参照してください。

[ベースライン] 比較信号の一意の信号識別子。

[比較対象] 比較信号の一意の信号識別子。

2 つの比較信号間の最大差。

同期された [ベースライン] 信号。同期の詳細については、シミュレーション データ インスペクターでデータを比較する方法を参照してください。

同期された [比較対象] 信号。同期の詳細については、シミュレーション データ インスペクターでデータを比較する方法を参照してください。

timeseries オブジェクトとして比較された結果の差分信号。

コピーのセマンティクス

ハンドル。ハンドル クラスがコピー操作にどのように影響するかについては、オブジェクトのコピー (MATLAB)を参照してください。

すべて折りたたむ

この例では、slexAircraftExample モデルを使用して、制御システムの入力信号と出力信号の比較を示します。例では、ストリーミング対象の信号をマークした後に、シミュレーション実行用の実行オブジェクトを取得します。実行オブジェクトの信号 ID で、比較する信号を指定します。

% Load model slexAircraftExample and mark signals for streaming
load_system('slexAircraftExample')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Pilot',1,'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',4,'on')

% Simulate model slexAircraftExample
out = sim('slexAircraftExample');

% Get run IDs for most recent run
allIDs = Simulink.sdi.getAllRunIDs;
runID = allIDs(end);

% Get Run object
aircraftRun = Simulink.sdi.getRun(runID);

% Get signal IDs
signalID1 = getSignalIDByIndex(aircraftRun,1);
signalID2 = getSignalIDByIndex(aircraftRun,2);

if (isValidSignalID(aircraftRun,signalID1))
    % Change signal tolerance
    signal1 = Simulink.sdi.getSignal(signalID1);
    signal1.AbsTol = 0.1;
end

if (isValidSignalID(aircraftRun,signalID1) && isValidSignalID(aircraftRun,signalID2))
    % Compare signals
    sigDiff = Simulink.sdi.compareSignals(signalID1,signalID2);

    % Check whether signal result status
    match = sigDiff.Status
end
match = 
OutOfTolerance

代替方法

シミュレーション データ インスペクター UI を使用して、比較結果を表示および検証できます。詳細については、シミュレーション データの比較を参照してください。

R2012b で導入