Main Content

シミュレーション データ インスペクターでデータを比較する方法

シミュレーション データ インスペクターによる比較プロセスは要件に適合するよう複数の方法でカスタマイズできます。実行を比較する場合、シミュレーション データ インスペクターは次を行います。

  1. [整列] 設定に基づいて [ベースライン] の実行と [比較対象] の実行内の信号のペアを整列します。

    シミュレーション データ インスペクターは整列できない信号は比較しません。

  2. 整列された信号のペアを指定した [同期方法] に従って同期します。

    同期で追加された時間点の値は、[ベースライン] の信号に対して指定された [内挿法] に従って内挿されます。

  3. 信号のペアの差分を計算します。

    double を除くすべての信号のデータ型について、比較のためにデータが double にアップキャストされます。

  4. 差分結果を指定した許容誤差と比較します。

比較実行が完了すると、比較の結果がナビゲーション ペインに表示されます。

ステータス結果の比較

差分は指定された許容誤差内に収まります。

差分は指定された許容誤差に違反します。

信号は [比較対象] の実行からの信号と整列しません。

時間間隔が異なる信号を比較する場合、シミュレーション データ インスペクターはオーバーラップする間隔で信号を比較します。

信号の整列

整列ステップにおいて、シミュレーション データ インスペクターは、[ベースライン] 実行での特定の信号と組み合わせる信号を、[比較対象] 実行で決定します。シミュレーション データ インスペクターを使用して信号を比較する場合、[ベースライン] の信号と [比較対象] の信号を選択して整列手順を完了します。

シミュレーション データ インスペクターは、[データ ソース]、[パス]、[SID]、[信号名] の各プロパティの組み合わせを使用して、信号を整列します。

プロパティ説明
データ ソースMATLAB® ワークスペース内の変数の名前
パスモデル内のデータのソース用ブロック パス
SID

自動的に割り当てられる Simulink® 識別子

信号名モデル内の信号の名前

既定の整列設定では、シミュレーション データ インスペクターはこのフロー チャートに従って信号を実行間で整列します。

Flow chart of how the Simulation Data Inspector aligns signals.

整列に使用する信号の各プロパティの優先順位を、シミュレーション データ インスペクターの [基本設定] で指定できます。[配置の基準] フィールドは、信号の配置に使用する優先順位の最も高いプロパティを指定します。優先順位は後続の [次の基準] フィールドごとに下がります。[配置の基準] フィールドには基本の配置プロパティを指定しなければなりませんが、[次の基準] フィールドは何個でも [なし] として指定できます。

同期

比較する信号が完全に同一の時間点を含んでいないことがあります。シミュレーション データ インスペクターの比較の同期ステップでは、信号の時間ベクトルの不一致を解決します。同期方法として、union または intersection を選択できます。

union 同期を指定すると、シミュレーション データ インスペクターにより 2 つの信号間のすべてのサンプル時間を含む時間ベクトルが構築されます。どちらの信号内にも元々存在しない各サンプル時間について、シミュレーション データ インスペクターは値を内挿します。図の 2 番目のグラフは union 同期のプロセスを示しています。このプロセスでは、シミュレーション データ インスペクターが、各信号の追加するサンプルを識別し、塗り潰されていない円で表されています。最後のプロットは、シミュレーション データ インスペクターが追加された時間点の値を内挿した後の信号を示しています。シミュレーション データ インスペクターは最後のグラフの信号を使用して差分を計算し、計算された差分の信号に、交差する時間領域にわたる信号間のすべてのデータ点が含まれるようにします。

When you compare two signals and specify union synchronization, the Simulation Data Inspector interpolates the value for any sample time not originally present in either signal.

intersection 同期を指定すると、シミュレーション データ インスペクターは比較で両方の信号に存在するサンプル時間のみを使用します。2 番目のグラフで、シミュレーション データ インスペクターは比較するための対応するサンプルがないサンプルを特定します。塗り潰されていない円で示されています。最後のグラフでは、比較に使用される信号を、2 番目のグラフで識別されたサンプルなしで示しています。

When you compare two signals and specify intersection synchronization, the Simulation Data Inspector uses only values from the sample times present in both sample times.

より正確な結果が得られるため union 同期を使用することをお勧めします。intersection 同期を使用すると、シミュレーション データ インスペクターで差分を計算するデータ点が少なくなり、内挿しないため、比較がすばやく完了します。ただし、intersection 同期では一部のデータは破棄され、精度が失われます。

内挿

信号の内挿プロパティは、シミュレーション データ インスペクターが信号をどのように表示するか、および追加のデータ値が同期でどのように計算されるかを決定します。シミュレーション データ インスペクターで 2 つの信号を比較する場合、[ベースライン] の信号に対して指定された [内挿法][ベースライン][比較対象] の両方の信号に使用されます。ゼロ次ホールド (zoh) または線形近似を使用したデータの内挿を選択できます。内挿なしを指定することもできます。

Three plots of sine wave. The first plot uses linear interpolation. The second plot uses zero-order hold interpolation. the third plot uses no interpolation.

[内挿法]zoh または none を指定すると、シミュレーション データ インスペクターは内挿されたサンプル時間の以前のサンプルのデータを複製します。linear 内挿を指定すると、シミュレーション データ インスペクターは内挿点のいずれかの側のサンプルを使用して、内挿された値を線形に近似します。通常、離散信号は zoh 内挿を使用し、連続信号は linear 内挿を使用します。信号について、信号のプロパティで [内挿法] を指定できます。

許容誤差の指定

シミュレーション データ インスペクターで、信号についての許容誤差のスコープと値を指定できます。絶対許容誤差、相対許容誤差、および時間の許容誤差の値の任意の組み合わせを使用して、許容誤差帯域を定義することができ、指定された許容誤差が個別の信号に適用されるか、実行内のすべての信号に適用されるかを指定できます。

許容誤差のスコープ

シミュレーション データ インスペクターでは、許容誤差をデータに対してグローバルに指定することも、個別の信号に対して指定することもできます。グローバル許容誤差値は、実行内で [グローバル許容誤差オーバーライド]yes に設定されていないすべての信号に適用されます。データに対するグローバル許容誤差値は、[比較] ビューのグラフィカルな表示領域の最上位で指定できます。信号固有の許容誤差値を指定するには、信号のプロパティを編集して、[グローバル許容誤差オーバーライド] プロパティが yes に設定されていることを確認します。

許容誤差の計算

シミュレーション データ インスペクターで、実行に対する許容誤差帯域を指定したり、絶対許容誤差、相対許容誤差および時間の許容誤差の値の組み合わせを使用する信号を指定したりできます。実行に対する許容誤差を指定する、または複数の種類の許容誤差を使用する信号を指定する場合、各許容誤差は各点での許容誤差について異なる答えとなる可能性があります。シミュレーション データ インスペクターは、各データ点に対して最も緩い許容誤差の結果を選択することで、許容誤差帯域全体を計算します。

絶対許容誤差プロパティと相対許容誤差プロパティのみを使用して許容誤差を定義すると、シミュレーション データ インスペクターは各点の許容誤差を単純な最大値として計算します。

tolerance = max(absoluteTolerance,relativeTolerance*abs(baselineData));

許容誤差帯域の上限は tolerance[ベースライン] 信号に追加することで形成されます。同様に、シミュレーション データ インスペクターは許容誤差帯域の下限を tolerance[ベースライン] 信号から差し引くことで計算します。

時間の許容誤差を指定すると、シミュレーション データ インスペクターは、まず各サンプルについて [(tsamp-tol), (tsamp+tol)] として定義された時間間隔に対して時間の許容誤差を評価します。シミュレーション データ インスペクターは、各サンプルについて、間隔の最小の点を選択することで、下限の許容誤差帯域を構築します。同様に、間隔の最大の点が各サンプルの上限の許容誤差を定義します。

The Simulation Data Inspector uses the maximum and minimum value present in the specified time interval to define the upper and lower tolerance, respectively.

時間の許容誤差に加え絶対許容誤差または相対許容誤差を使用して許容誤差帯域を指定する場合、シミュレーション データ インスペクターは最初に時間の許容誤差を適用し、それから絶対許容誤差と相対許容誤差を時間の許容誤差で選択された最大の点および最小の点に適用します。

When you specify an absolute or relative tolerance in addition to a time tolerance, the tolerance band increases.

upperTolerance = max + max(absoluteTolerance,relativeTolerance*max)

lowerTolerance = min - max(absoluteTolerance,relativeTolerance*min)

制限

シミュレーション データ インスペクターは以下の比較をサポートしていません。

  • R2020a より前: データ型 int64 または uint64 の信号。

  • 可変サイズの信号。

関連するトピック