Main Content

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

Simulink.sdi.DatasetRef クラス

パッケージ: Simulink.sdi

シミュレーション データ インスペクター リポジトリ内のデータにアクセスする

説明

Simulink.sdi.DatasetRef オブジェクトを使うと、データの全体的なセットをメモリに読み込まずに、シミュレーション データ インスペクター内のデータにアクセスできます。オブジェクトは Simulink.SimulationData.DatasetRef クラスと互換性があります。

構築

dsr_array = Simulink.sdi.DatasetRef はシミュレーション データ インスペクターの各実行に対応する Simulink.sdi.DatasetRef オブジェクトが含まれる配列を作成します。

dsr_array = Simulink.sdi.DatasetRef(domain) は、実行ごとに 1 つの Simulink.sdi.DatasetRef オブジェクトが含まれる DatasetRef オブジェクトの配列を作成します。各実行の内容は指定された domain に制限されます。

dsr = Simulink.sdi.DatasetRef(runID) は実行識別子 runID によって指定された実行を参照する Simulink.sdi.DatasetRef オブジェクトを作成します。

dsr = Simulink.sdi.DatasetRef(runID, domain)domain で指定された内容をもつ runID で指定された実行を参照する Simulink.sdi.DatasetRef オブジェクトを作成します。

dsr = Simulink.sdi.DatasetRef(runID, domain, repositoryPath) は実行識別子 runID によって指定された実行を参照する Simulink.sdi.DatsetRef オブジェクトを作成します。DatasetRef オブジェクトには repositoryPath で指定されたリポジトリからの domain で指定された内容が含まれます。

入力引数

すべて展開する

DatasetRef オブジェクト内の参照するデータ。次のいずれかとして指定します。

  • 'signals' — 信号のログによって生成される信号。

  • 'outports' — 最上位レベルの Outport ブロックによって表されるモデル出力信号。

  • 'dsm'Data Store Memory ブロック。

  • 'state' — Simulink® ステート。

  • 'param' — Dashboard ブロックを使用して調整されたブロック パラメーターおよび変数のパラメーター データ。

  • 'sf_data' — Stateflow® のローカル データ。

  • 'sf_state' — Stateflow ステート。

  • 'sf_state_child' — Stateflow の子アクティビティ。

  • 'sf_state_leaf' — Stateflow のリーフ アクティビティ。

  • 'slt_verify'Assertion ブロックおよび Simulink Test™ での評価の検証。

Simulink.sdi.DatasetRef オブジェクトのデータを含む実行を指定します。

Simulink.sdi.DatasetRef オブジェクトのデータを含む実行の場所を指定します。

プロパティ

すべて展開する

Simulink.sdi.DatasetRef オブジェクトと一致する実行の名前。

例: 'Run 1'

Simulink.sdi.DatasetRef オブジェクトに関連付けられた Simulink.sdi.Run オブジェクト。

Simulink.sdi.DatasetRef オブジェクトに関連付けられている Simulink.sdi.Run オブジェクトの最上位要素の数。

メソッド

compare DatasetRef オブジェクトを使用した実行を比較する
getAsDatastore要素を sdidatastore オブジェクトとして取得する
getElementインデックスで DatasetRef 要素を取得する
getElementNames要素名の文字ベクトルを取得する
getSignal 信号オブジェクトを返す
plot シミュレーション データ インスペクターを開いてデータを表示および比較する

コピーのセマンティクス

ハンドル。ハンドル クラスがコピー操作にどのように影響するかについては、オブジェクトのコピーを参照してください。

すべて折りたたむ

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