主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

金宝appSimulink.sdi.compareSignals

2の金宝appSimulink.sdi.Signalオブジェクトでデ,タを比較する

説明

diff= 金宝appSimulink.sdi.compareSignals (sigID1sigID2は信号idのsigID1sigID2に対応する信号を比較し,その結果を金宝appSimulink.sdi.DiffSignalResultオブジェクトに返します。比較結果を計算する方法の詳細にいては,シミュレションデタンスペクタでデタを比較する方法を参照してください。

すべて折りたたむ

シミュレーションデータインスペクターのプログラムによるインターフェイスを使用して,同じ実行内の信号を比較できます。この例では,航空機用縦方向コントロ,ラ,の入力信号と出力信号を比較します。

最初に,デ,タを含むセッションを読み込みます。

金宝appSimulink.sdi.load (“AircraftExample.mldatx”);

関数金宝appSimulink.sdi.Run.getLatestを使用してデ,タ内の最新の実行にアクセスします。

aircraftRun = 金宝appSimulink.sdi.Run.getLatest;

次に,関数金宝appSimulink.sdi.getSignalsByNameを使用して,コントロ,ラ,への入力を表す坚持信号と,出力を表すα,rad信号にアクセスできます。

stick = getSignalsByName(aircraftRun,“坚持”);alpha = getSignalsByName(aircraftRun,“α,rad”);

信号を比較する前に,比較に使用する許容誤差値を指定できます。比較のベスラン信号に指定された許容誤差値が使用されるため,坚持信号に0.1の絶対許容誤差値を設定します。

棍子。AbsTol = 0.1;

ここで,関数金宝appSimulink.sdi.compareSignalsを使用して信号を比較します。坚持信号はベスランで,α,rad信号はベスランと比較される信号です。

comparisonResults = 金宝appSimulink.sdi.compareSignals(stick.ID,alpha.ID);match = comparisonResults。状态
match = ComparisonSignalStatus枚举超时容忍

比較結果は許容誤差の範囲外です。関数金宝appSimulink.sdi.viewを使用して,シミュレションデタンスペクタを開き,比較結果を表示および解析できます。

この例では,シミュレションデタンスペクタの関数金宝appSimulink.sdi.compareSignalsを使用して異なるシミュレション実行の信号を比較する方法にいて説明します。比較する対象の信号が1金宝appSimulink.sdi.diffSignalResultオブジェクトが直接返されます。

シミュレ,ションデ,タの生成

slexAircraftExampleモデルを使用してシミュレ,ション実行を生成します。実行間で入力フィルタ,の時定数を変更します。

负载示例模型load_system (“slexAircraftExample”标记alpha, rad信号为流金宝appSimulink.sdi.markSignalForStreaming ('slexAircraftExample/飞机动力学模型'4“上”%模拟系统Out_1 = sim(“slexAircraftExample”);改变输入滤波器时间常数modelWorkspace = get_param(“slexAircraftExample”“modelworkspace”);assignin (modelWorkspace“t”, 0.2)%再次模拟Out_2 = sim(“slexAircraftExample”);

信号比較のための信号idを取得

実行idを使用して実行オブジェクトを作成したら,getSignalIDByIndexを使用して金宝appSimulink.sdi.compareSignalsに渡す信号idを取得します。

%获取运行数据runIDs = 金宝appSimulink.sdi.getAllRunIDs;runID1 = runid (end-1);runID2 = runIDs(end);run1 = 金宝appSimulink.sdi.getRun(runID1);run2 = 金宝appSimulink.sdi.getRun(runID2);sigID1 = getSignalIDByIndex(run1,1);sigID2 = getSignalIDByIndex(run2,1);

信号の比較

信号を比較し,シミュレションデタンスペクタを開いて結果を表示します。

diffResult = 金宝appSimulink.sdi.compareSignals(sigID1,sigID2);金宝appSimulink.sdi.view

入力引数

すべて折りたたむ

ベスラン信号の信号id。整数として指定します。シミュレ,ションデータ インスペクターは実行が作成されると各信号に信号 ID を割り当てます。次のいずれかの関数を使用して信号の信号 ID を取得します。

比較する信号の信号id。整数として指定します。シミュレ,ションデータ インスペクターは実行が作成されると各信号に信号 ID を割り当てます。次のいずれかの関数を使用して信号の信号 ID を取得します。

出力引数

すべて折りたたむ

信号の比較結果。金宝appSimulink.sdi.DiffSignalResultオブジェクトとして返されます。複素信号の比較結果は2のDiffSignalResultオブジェクトの配列として返されます。1 rcのDiffSignalResultオブジェクトには実数デタが含まれ,もう1のオブジェクトには虚数デタが含まれます。DiffSignalResultオブジェクトの的名字プロパティをチェックし,実数デ,タと虚数デ,タのど,らが含まれているのかを判別します。

制限

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

  • デタ型int64またはuint64の信号。

  • 可変サ@ @ズの信号。

バ,ジョン履歴

R2011bで導入