シミュレーション データ インスペクターを使用して、実行した比較で使用する信号の許容誤差値をプログラムによって指定できます。この例では、航空機用縦方向飛行制御システムのモデルをシミュレーションして収集したデータを比較します。各シミュレーションは入力フィルターの時定数に異なる値を使用して、入出力信号をログに記録します。シミュレーション データ インスペクターと信号許容誤差を使用して結果を比較し、時定数の変更の影響を解析します。
まず、シミュレーション データを含むセッション ファイルを読み込みます。
セッション ファイルには 4 つの実行が含まれます。この例では、ファイル内の最初の 2 つの実行からデータを比較します。ファイルから読み込まれた最初の 2 つの実行について、Simulink.sdi.Run オブジェクトにアクセスします。
許容誤差を指定しないで 2 つの実行を比較します。
関数 getResultByIndex を使用して q 信号と alpha 信号の比較結果にアクセスします。
各信号結果の Status プロパティをチェックし、比較結果が許容誤差の範囲内であるか範囲外であるかを確認します。
ans =
ComparisonSignalStatus enumeration
OutOfTolerance
ans =
ComparisonSignalStatus enumeration
OutOfTolerance
比較では、すべての許容誤差に 0 の値を使用しているため、OutOfTolerance の結果は信号が同一でないことを意味します。
信号の許容誤差値を指定して、時定数の影響をさらに解析できます。比較対象の信号に対応する Simulink.sdi.Signal オブジェクトのプロパティを設定し、許容誤差を指定します。比較ではベースライン信号に対して指定された許容誤差が使用されます。この例では、時間の許容誤差と絶対許容誤差を指定します。
許容誤差を指定するには、最初にベースライン実行から Signal オブジェクトにアクセスします。
q 信号に対して、それぞれ AbsTol プロパティと TimeTol プロパティを使用して、0.1 の絶対許容誤差と 0.6 の時間の許容誤差を指定します。
alpha 信号に対して、0.2 の絶対許容誤差と 0.8 の時間の許容誤差を指定します。
結果を再度比較します。比較の結果にアクセスし、各信号の Status プロパティをチェックします。
ans =
ComparisonSignalStatus enumeration
WithinTolerance
ans =
ComparisonSignalStatus enumeration
WithinTolerance