Main Content

getSignal

シミュレーション データ インスペクター実行から信号データを取得する

説明

sigObj = getSignal(dsr,idx) は、Simulink.sdi.DatasetRef オブジェクト dsr で参照されているシミュレーション データ インスペクター実行内のインデックス idx に対応する Simulink.sdi.Signal オブジェクトを返します。

sigObj = getSignal(dsr,sigName) は、名前 sigName に対応する 1 つ以上の Simulink.sdi.Signal オブジェクトを返します。

すべて折りたたむ

Simulink.sdi.DatasetRef オブジェクトで参照されているシミュレーション データ インスペクター実行からのデータをプログラムによってシミュレーション データ インスペクターでプロットできます。

モデル ex_sldemo_absbrake をシミュレートして、ログ記録された信号の実行を作成します。

mdl = "ex_sldemo_absbrake";
sim(mdl)

関数 Simulink.sdi.Run.getLatest を使用して最新の実行を取得します。

brakeRun = Simulink.sdi.Run.getLatest;

その実行を参照する Simulink.sdi.DatasetRef オブジェクトを作成します。

runID = brakeRun.ID;
DSRef = Simulink.sdi.DatasetRef(runID);

参照されている実行内の要素の名前を取得します。

names = getElementNames(DSRef)
names = 2x1 cell
    {'yout'}
    {'slp' }

関数 getSignal を使用して yout バスを取得します。Values パラメーターを使用してバスの要素にアクセスできます。

yout = getSignal(DSRef,1);
outputs = yout.Values
outputs = struct with fields:
    Ww: [1x1 timeseries]
    Vs: [1x1 timeseries]
    Sd: [1x1 timeseries]

関数 getSignal を使用して slp 信号を取得します。Checked プロパティを true に設定して、シミュレーション データ インスペクターでプロットする信号を選択します。

slp = getSignal(DSRef,"slp");
slp.Checked = 'true';

シミュレーション データ インスペクターを開いて信号を表示します。

plot(DSRef)

入力引数

すべて折りたたむ

信号データの取得元の実行。Simulink.sdi.DatasetRef オブジェクトとして指定します。

dsr で参照されているシミュレーション データ インスペクター実行内の取得する信号のインデックス。正の整数として指定します。

dsr で参照されているシミュレーション データ インスペクター実行内の取得する信号の名前。string または文字配列として指定します。

代替方法

信号データのコピーをワークスペースに返すには、関数 getElement を使用できます。

バージョン履歴

R2017b で導入