Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

createInputDataset

ルートレベル Inport 端子またはバス要素端子のデータセット オブジェクトをモデルに生成する

説明

[inDS] = createInputDataset(mdl) は、最上位の Inport ブロックまたはバス要素端子の Simulink.SimulationData.Dataset オブジェクトをモデルに生成します。生成されたデータセットの信号は、モデルの開始時間と終了時間におけるルート入力端子のプロパティと対応するグラウンド値をもちます。シミュレーション用のデータを読み込む信号の時間と値を表す timetable オブジェクトまたは timeseries オブジェクトを作成できます。他の信号はグラウンド値を使用します。

[inDS] = createInputDataset(mdl,'DatasetSignalFormat',format) は、信号データセットの信号要素が timeseries または timetable のいずれかである Simulink.SimulationData.Dataset オブジェクトを生成します。

すべて折りたたむ

この例では、モデルの 4 つのルートレベルの Inport ブロックに対する要素を使用して時系列データセットを作成する方法を示します。信号データをモデルに読み込むデータセットを作成するための基盤としてそのデータセットを使用します。

In1 ブロックは double を出力し、In2 および In3 はそれぞれ非バーチャル バスを出力し、In4int16 を出力します。

mdl = 'ex_dataset_for_inports';
open_system(mdl)

ルートレベル Inport ブロックの Dataset オブジェクトを作成します。

ds = createInputDataset(mdl)
Exporting logged dataset prior to deleting run...done.

ds = 

Simulink.SimulationData.Dataset '' with 4 elements

                             Name  BlockPath 
                             ____  _________ 
    1  [1x1 timeseries]      In1   ''       
    2  [1x1 struct    ]      In2   ''       
    3  [1x1 struct    ]      In3   ''       
    4  [1x1 timeseries]      In4   ''       

  - Use braces { } to access, modify, or add elements using index.

Dataset 内の最初の信号のプレースホルダー値を、モデルに読み込む実際の信号値で置き換えます。

ds{1} = ds{1}.delsample('Index',[1,2]);
ds{1} = ds{1}.addsample('time',[1 3 3 10]','data',[1 1 5 5]');

In2 信号を調べます。

ds{2}
ans = 

  struct with fields:

    a: [1x1 timeseries]
    b: [1x1 timeseries]

In2 の場合、バス要素 a および b のデータを作成します。

ds{2}.a = ds{2}.a.delsample('Index',[1,2]);
ds{2}.a = addsample(ds{2}.a,'time',[1:10]','data',[1:10]');
ds{2}.b = timeseries((1:10)',0.1:.1:1,'Name','sig2_b');

In3 の場合は、バスの要素 a のデータを指定し、要素 b のグラウンド値を使用します。

ds{3}.a = timeseries((1:10)',0.1:.1:1,'Name','sig3_a');

ds をプロットします。

plot(ds)

[入力] コンフィギュレーション パラメーターを ds に設定します。または、ルート Inport マッパー ツールを使用して [入力] パラメーターを設定します。

set_param(mdl,'LoadExternalInput','on');
set_param(mdl,'ExternalInput','ds');

シミュレーションを実行します。Inport ブロックは、ds で指定された信号データまたは信号データが指定されていない要素についてはグラウンド値を使用します。

sim(mdl)

入力引数

すべて折りたたむ

各ルートレベル Inport ブロックの要素をもつデータセットを生成するモデル。string、文字ベクトル、またはモデル ハンドルとして指定します。

データセット信号要素の信号の形式。'timetable' または 'timeseries' として指定します。

出力引数

すべて折りたたむ

各ルートレベル Inport ブロックの要素を含むデータセット。Simulink.SimulationData.Dataset オブジェクトとして返されます。

バージョン履歴

R2017a で導入

すべて展開する