ドキュメンテーション センター

  • 評価版
  • 製品アップデート

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink.sdi.DiffRunResult クラス

パッケージ: Simulink.sdi

2 つのシミュレーション実行の比較結果

説明

Simulink.sdi.DiffRunResult クラスは 2 つのシミュレーション実行の比較結果を管理します。Simulink.sdi.DiffRunResult オブジェクトには比較されたそれぞれの信号の Simulink.sdi.DiffSignalResult オブジェクトが含まれています。

構築

関数 Simulink.sdi.compareRunsSimulink.sdi.DiffRunResult オブジェクトのハンドルを返します。

プロパティ

runID1

実行 ID。比較された最初の実行を識別する一意の番号です。

runID2

実行 ID。比較された 2 番目の実行を識別する一意の番号です。

count

比較された信号結果の数。

matlabVersion

Simulink.sdi.DiffRunResult のインスタンスの作成に使用した MATLAB のバージョン。

dateCreated

オブジェクトの作成日。シリアル日付値形式で保存されます。

メソッド

getResultByIndex信号の比較結果である Simulink.sdi.DiffSignalResult オブジェクトを返す

コピーのセマンティクス

ハンドル。コピー操作に対するハンドル クラスの影響については、MATLAB® ドキュメンテーションの「オブジェクトのコピー」を参照してください。

関数 Simulink.sdi.compareRuns は比較結果を含む Simulink.sdi.DiffRunResult オブジェクトを返します。Simulink.sdi.DiffRunResult オブジェクトには、2 つのシミュレーション実行間で比較した信号ごとに Simulink.sdi.DiffSignalResult オブジェクトが含まれています。

% Configure model "slexAircraftExample" for logging and simulate
set_param('slexAircraftExample/Pilot','WaveForm','square');
simOut = sim('slexAircraftExample', 'SaveOutput','on', ...
                  'SaveFormat', 'StructureWithTime', ...
                  'ReturnWorkspaceOutputs', 'on');

% Create a Simulation Data Inspector run, Simulink.sdi.Run, from simOut in the base workspace
runID1 = Simulink.sdi.createRun('First Run','namevalue',{'simOut'},{simOut});

% Simulate again
set_param('slexAircraftExample/Pilot','WaveForm','sawtooth');
simOut = sim('slexAircraftExample', 'SaveOutput','on', ...
             'SaveFormat', 'StructureWithTime', ...
             'ReturnWorkspaceOutputs', 'on');
      
% Create another Simulation Data Inspector run
runID2 = Simulink.sdi.createRun('Second Run','namevalue',{'simOut'},{simOut});

% Compare two runs and get an instance of Simulink.sdi.DiffRunResult
diff = Simulink.sdi.compareRuns(runID1, runID2);

% Get the number of signal comparison results
count = diff.count;

% Iterate over results and find out if signals match
for i=1:count
   % Get the Simulink.sdi.DiffSignalResult, diffSignal
		diffSignal = diff.getResultByIndex(i);
		signalID1  = diffSignal.signalID1;
   signalID2  = diffSignal.signalID2;
   match      = diffSignal.match;

   if match
      disp([num2str(signalID1) ' and ' num2str(signalID2)...
           ' match']);
   else
      disp([num2str(signalID1) ' and ' num2str(signalID2)...
           ' don''t match']);
   end
end

参考

| |

操作のヒント

この情報は役に立ちましたか?