Main Content

compare

クラス: Simulink.sdi.DatasetRef
パッケージ: Simulink.sdi

DatasetRef オブジェクトを使用した実行を比較する

構文

[matches, mismatches, results] = dsrObj.compare(other)

説明

[matches, mismatches, results] = dsrObj.compare(other) は、Simulink.sdi.DatasetRef オブジェクトのデータの比較での一致数、不一致数、および比較結果を返します。比較結果は Simulink.sdi.DiffRunResult オブジェクトとして返されます。

入力引数

すべて展開する

別の Simulink.sdi.DatasetRef オブジェクト、ワークスペース内の Dataset、または MAT ファイルから取得できる比較データ。

例: 'data.mat'

例: var

出力引数

すべて展開する

比較の許容誤差内で一致した信号の数。

比較の許容誤差内で一致しなかった信号の数。

Simulink.sdi.DiffRunResult オブジェクトで返される比較の結果。

すべて展開する

この例では、目的のスリップ率が異なる ex_sldemo_absbrake システムの 2 つの実行を比較して、Simulink.sdi.DatasetRef オブジェクトを操作する方法を示します。

% Simulate model ex_sldemo_absbrake to create a run of logged signals
load_system('ex_sldemo_absbrake')
sim('ex_sldemo_absbrake')

% Get the runID
runIDs = Simulink.sdi.getAllRunIDs;
runID = runIDs(end);

% Get the run object
brakeRun = Simulink.sdi.getRun(runID);

% Make a Simulink.sdi.DatasetRef object
run_DSRef = brakeRun.getDatasetRef;

% Get the names of the elements in the object
names = run_DSRef.getElementNames
names = 2x1 cell
    {'yout'}
    {'slp' }

% Get yout bus
[yout, name, index] = run_DSRef.getElement(1);

% View signals in outputs
outputs = yout.Values
outputs = struct with fields:
    Ww: [1x1 timeseries]
    Vs: [1x1 timeseries]
    Sd: [1x1 timeseries]

% Get slp signal
slp = run_DSRef.getSignal('slp');

% Plot signal
slp.Checked = 'true';
% Create another run for a different Desired relative slip
set_param('ex_sldemo_absbrake/Desired relative slip', 'Value', '0.25')
sim('ex_sldemo_absbrake')
DSR_Runs = Simulink.sdi.DatasetRef;

% Compare the results from the two runs
[matches, mismatches, diffResult] = run_DSRef.compare(DSR_Runs(2));

% Open the Simulation Data Inspector to view signals
run_DSRef.plot

代替方法

シミュレーション データ インスペクター API を使用して、比較するデータの実行を作成し、比較に Simulink.sdi.compareRuns を使用できます。シミュレーション データ インスペクター UI で、シミュレーションから作成された実行を表示したり、実行にデータをインポートしたり、実行を比較することもできます。

バージョン履歴

R2017b で導入