Main Content

saveResult

比較結果の MLDATX ファイルへの保存

R2020a 以降

説明

saveResult(DiffRes,fileName) は、比較結果を Simulink.sdi.DiffRunResult オブジェクト DiffRes に保存し、元の実行データを MLDATX ファイル fileName に保存します。関数 Simulink.sdi.load または関数 open を使用して、実行と比較の結果を含む MLDATX ファイルをシミュレーション データ インスペクターに読み込むことができます。

saveResult(DiffRes,fileName,saveRuns) は、saveRuns に指定される値に従って、比較の結果を元の実行データと共に、あるいは元の実行データなしで保存します。

すべて折りたたむ

2 つのシミュレーション実行の比較に使用するグローバル許容誤差値を指定できます。グローバル許容誤差値は実行内のすべての信号に適用されます。この例では、実行比較のグローバル許容誤差値を指定する方法と、比較結果を解析して保存する方法を説明します。

まず、比較するデータを含むセッション ファイルを読み込みます。セッション ファイルには航空機用縦方向コントローラーの 4 つのシミュレーションに対するデータが含まれます。この例では、さまざまな入力フィルターの時定数を使用する 2 つの実行のデータを比較します。

Simulink.sdi.load('AircraftExample.mldatx');

比較する実行データにアクセスするには、関数Simulink.sdi.getAllRunIDsを使用して、最新の 2 つのシミュレーション実行に対応する実行 ID を取得します。

runIDs = Simulink.sdi.getAllRunIDs;
runID1 = runIDs(end - 1);
runID2 = runIDs(end);

関数Simulink.sdi.compareRunsを使用して実行を比較します。グローバル相対許容誤差の値 0.2 およびグローバル時間許容誤差の値 0.5 を指定します。

runResult = Simulink.sdi.compareRuns(runID1,runID2,'reltol',0.2,'timetol',0.5);

返された Simulink.sdi.DiffRunResult オブジェクトの Summary プロパティをチェックし、信号が許容誤差値の範囲内または範囲外のどちらであるのかを確認します。

runResult.Summary
ans = struct with fields:
       OutOfTolerance: 0
      WithinTolerance: 3
            Unaligned: 0
        UnitsMismatch: 0
                Empty: 0
             Canceled: 0
          EmptySynced: 0
     DataTypeMismatch: 0
         TimeMismatch: 0
    StartStopMismatch: 0
          Unsupported: 0

3 つの信号の比較結果はすべて指定したグローバル許容誤差の範囲内にあります。

関数saveResultを使用して、比較の結果を MLDATX ファイルに保存できます。

saveResult(runResult,'InputFilterComparison');

入力引数

すべて折りたたむ

保存するデータを含む実行の比較結果。Simulink.sdi.DiffRunResult オブジェクトとして指定します。

結果を保存する MLDATX ファイルの名前。string または文字配列として指定します。

例: 'ComparisonResults'

比較される実行の元の実行データを保存するかどうか。logical の 1 (true) または 0 (false) として指定します。既定では、関数 saveResult は元の実行データを比較の結果と共に保存します。

バージョン履歴

R2020a で導入