getResultByIndex
信号の比較結果を返す
説明
例
信号の許容誤差を使用したシミュレーション データの解析
シミュレーション データ インスペクターを使用して、実行した比較で使用する信号の許容誤差値をプログラムによって指定できます。この例では、航空機用縦方向飛行制御システムのモデルをシミュレーションして収集したデータを比較します。各シミュレーションは入力フィルターの時定数に異なる値を使用して、入出力信号をログに記録します。シミュレーション データ インスペクターと信号許容誤差を使用して結果を比較し、時定数の変更の影響を解析します。
まず、シミュレーション データを含むセッション ファイルを読み込みます。
Simulink.sdi.load('AircraftExample.mldatx');
セッション ファイルには 4 つの実行が含まれます。この例では、ファイル内の最初の 2 つの実行からデータを比較します。ファイルから読み込まれた最初の 2 つの実行について、Simulink.sdi.Run
オブジェクトにアクセスします。
runIDs = Simulink.sdi.getAllRunIDs; runIDTs1 = runIDs(end-3); runIDTs2 = runIDs(end-2);
次に、許容誤差を指定しないで 2 つの実行を比較します。
noTolDiffResult = Simulink.sdi.compareRuns(runIDTs1,runIDTs2);
関数 getResultByIndex
を使用して q
信号と alpha
信号の比較結果にアクセスします。
qResult = getResultByIndex(noTolDiffResult,1); alphaResult = getResultByIndex(noTolDiffResult,2);
各信号結果の Status
をチェックし、比較結果が許容誤差の範囲内または範囲外にあるかどうかを判断します。
qResult.Status
ans = ComparisonSignalStatus enumeration OutOfTolerance
alphaResult.Status
ans = ComparisonSignalStatus enumeration OutOfTolerance
比較では、すべての許容誤差に 0
の値を使用するため、OutOfTolerance
の結果は信号が同一でないことを意味します。
信号の許容誤差値を指定して、時定数の影響をさらに解析できます。比較対象の信号に対応する Simulink.sdi.Signal
オブジェクトのプロパティを設定し、許容誤差を指定します。比較ではベースライン信号に対して指定された許容誤差が使用されます。この例では、時間の許容誤差と絶対許容誤差を指定します。
許容誤差を指定するには、最初にベースライン実行から Signal
オブジェクトにアクセスします。
runTs1 = Simulink.sdi.getRun(runIDTs1); qSig = getSignalsByName(runTs1,'q, rad/sec'); alphaSig = getSignalsByName(runTs1,'alpha, rad');
AbsTol
プロパティと TimeTol
プロパティを使用して、q
信号に対して 0.1
の絶対許容誤差と 0.6
の時間の許容誤差を指定します。
qSig.AbsTol = 0.1; qSig.TimeTol = 0.6;
alpha
信号に対して、0.2
の絶対許容誤差と 0.8
の時間の許容誤差を指定します。
alphaSig.AbsTol = 0.2; alphaSig.TimeTol = 0.8;
結果を再度比較します。比較の結果にアクセスし、各信号の Status
プロパティをチェックします。
tolDiffResult = Simulink.sdi.compareRuns(runIDTs1,runIDTs2); qResult2 = getResultByIndex(tolDiffResult,1); alphaResult2 = getResultByIndex(tolDiffResult,2); qResult2.Status
ans = ComparisonSignalStatus enumeration WithinTolerance
alphaResult2.Status
ans = ComparisonSignalStatus enumeration WithinTolerance
入力引数
diffRes
— 実行の比較結果
Simulink.sdi.DiffRunResult
オブジェクト
アクセスする信号の結果を含む実行の比較結果。Simulink.sdi.DiffRunResult
オブジェクトとして指定します。
index
— 実行の比較結果内の信号のインデックス
整数
実行の比較結果内の信号のインデックス。整数として指定します。
例: 2
出力引数
diffSig
— 指定されたインデックスでの信号の比較結果
Simulink.sdi.DiffSignalResult
オブジェクト
指定されたインデックスでの信号の比較結果。Simulink.sdi.DiffSignalResult
オブジェクトとして返されます。
バージョン履歴
R2012b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)