Main Content

getSignal

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

信号オブジェクトを返す

構文

sigObj = SDIDatasetRef.getSignal(searchArg)

説明

sigObj = SDIDatasetRef.getSignal(searchArg) は、検索引数 searchArg に対応する Simulink.sdi.Signal オブジェクトを返します。

入力引数

すべて展開する

Simulink.sdi.Signal オブジェクトを選択する検索パラメーター。searchArg には、信号名をターゲットにする場合は文字ベクトルまたは string、インデックスベースの検索の場合は整数を指定できます。

例: 'throttle'

例: 2

出力引数

すべて展開する

検索クエリに対応する Simulink.sdi.Signal オブジェクト。

すべて展開する

この例では、目的のスリップ率が異なる 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.DatasetRef オブジェクトの最上位要素である場合、getElement メソッドを使用してインデックスにより Simulink.sdi.Signal オブジェクトを取得できます。

バージョン履歴

R2017b で導入