Main Content

getDatasetRef

実行から Simulink.sdi.DatasetRef オブジェクトを作成する

説明

sdiDSRef = getDatasetRef(runObj) は、Simulink.sdi.Run オブジェクト runObj のデータを参照する Simulink.sdi.DatasetRef オブジェクト sdiDSRef を作成します。データが大きすぎてメモリに収まらない場合は、DatasetRef オブジェクトを使用してデータを処理します。

すべて折りたたむ

この例では、目的のスリップ率が異なる 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

入力引数

すべて折りたたむ

処理しなければならない、メモリに収まらないデータをもつ実行。Simulink.sdi.Run オブジェクトとして指定します。

出力引数

すべて折りたたむ

メモリに収まらないデータの処理に使用できる実行データへの参照。Simulink.sdi.DatasetRef オブジェクトとして返されます。

バージョン履歴

R2017b で導入