メインコンテンツ

createInputDataset

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

説明

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

[inDS] = createInputDataset(mdl,Name=Value) では、前の構文の入力引数に加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、データセット形式を timetable に設定するには、DatasetSignalFormat=timeseries を設定します。

すべて折りたたむ

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

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

mdl = 'ex_dataset_for_inports';
open_system(mdl)

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

ds = createInputDataset( mdl, "UpdateDiagram", true);
Backing up simulation data to base workspace. To skip this operation, set Export=false.

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: [1×1 timeseries]
    b: [1×1 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、文字ベクトル、またはモデル ハンドルとして指定します。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: DatasetSignalFormat=timeseries

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

ブロック線図の更新をオフにするオプション。既定では、createInputDataset はモデルのブロック線図の更新を実行します。

メモ

モデルのブロック線図の更新をオフにすると、データセットを作成する前にモデルがコンパイルされなくなります。ブロック線図の更新を省略するとパフォーマンスが向上することがありますが、新しいデータセット値がコンパイルされた端子設定と一致しなくなる可能性があり、シミュレーションのエラーや不正確な結果が生じることがあります。

出力引数

すべて折りたたむ

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

バージョン履歴

R2017a で導入

すべて展開する