ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink.SimulationData.Dataset クラス

パッケージ: Simulink.SimulationData
スーパークラス:

Simulink.SimulationData.Dataset オブジェクトの作成

説明

Simulink® は、データ要素を格納する Simulink.SimulationData.Dataset オブジェクトを、以下の場合に作成します。

  • Dataset 形式を使用した信号ログ取得時

  • 既定の形式 Dataset 使用時の、状態ログまたは出力ログ取得時

  • データ ストアのログ取得時

状態および出力のログの記録にデータセット形式を使用すると、ArrayStructureStructure with time を使用した場合に比べていくつかの利点があります。詳細については、操作点なしで保存された状態情報の形式を参照してください。

モデル内のルートレベルの Inport ブロックから Simulink.SimulationData.Dataset オブジェクトを生成するには、関数 createInputDataset を使用できます。生成されたデータセットの信号は、モデルの開始時間と停止時間における Inport ブロックのプロパティと対応するグラウンド値をもちます。シミュレーション用のデータを読み込む信号の時間と値を表す timeseries オブジェクトと timetable オブジェクトを作成できます。他の信号はグラウンド値を使用します。

getgetElementsetElementaddElement のいずれかのメソッドを使用する代わりに、中かっこ ({}) を使用してインデックス構文を効率化し、データセット内の要素へのアクセス、設定、追加を実行できます。中かっこを使用して要素を取得または設定するには、インデックスがデータセット変数の要素数より多いスカラーでなければなりません。要素を追加するには、インデックスがデータセットの合計要素数より 1 多いスカラーでなければなりません。getgetElementsetElement または addElement メソッドは、名前やブロック パスだけなく、インデックスで要素を指定できます。

個々の非バス信号データでは、Dataset 要素に対して次のデータ型を指定できます。

  • timeseries

  • timetable

  • matlab.io.datastore.SimulationDatastore

  • double データの double ベクトルまたは構造体

  • timeseries

  • Simulink.SimulationData.SignalSimulink.SimulationData.State または Simulink.SimulationData.DataStoreMemory オブジェクト

バス信号の場合は、次のいずれかの形式を使用して、各リーフ信号のデータ要素をもつ構造体を使用します。

  • MATLAB® timeseries オブジェクト

  • MATLAB timetable オブジェクト

  • matlab.io.datastore.SimulationDatastore オブジェクト

  • 空行列

  • 次のいずれかの要件を満たす配列

  • バス データの構造体に対するこれらの要件と一致する各信号のデータ要素をもつ別の構造体

可変サイズ信号は、Dataset データ値ではサポートされていません。

構築

convertedDataset = Simulink.SimulationData.Dataset(loggedDataToConvert)loggedDataToConvertSimulink.SimulationData.Dataset オブジェクトに変換します。その後、Simulink.SimulationData.Dataset.concat メソッドを使用して 2 つの Dataset オブジェクトの要素を結合できます。

constructedDataset = Simulink.SimulationData.Dataset(variableName,'DatasetName','dsname') は、Simulink.SimulationData.Dataset オブジェクトを作成して変数 variableName を追加し、データセットの名前を dsname に設定します。

入力引数

すべて展開する

データセットに変換するデータ要素。文字ベクトルとして指定します。次のような要素を変換できます。

  • 配列

  • 構造体

    メモ

    構造体の入力は配列または行列にはできません。

  • 時間付き構造体

  • MATLAB 時系列

  • MATLAB 時系列要素の構造体

  • ModelDataLogs

データセットに追加する変数。文字ベクトルとして指定します。

名前と値のペアの引数

オプションのコンマ区切りされた Name,Value の引数ペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペア引数を任意の順序で指定できます。

例: 'DatasetName','dsname'

データセットの名前。文字ベクトルとして指定します。

出力引数

すべて展開する

変換されたデータセット。Simulink.SimulationData.Dataset オブジェクトとして返されます。

作成されたデータセット。Simulink.SimulationData.Dataset オブジェクトとして返されます。

プロパティ

すべて展開する

データセットの名前。文字ベクトルまたはログ変数 (たとえば信号ログの logsout など) として指定します。名前を指定するとデータセットを簡単に区別できます。たとえば、複数のシミュレーションを比較する場合に名前を再設定できます。このプロパティは読み取りと書き込みが可能です。

ds = Simulink.SimulationData.Dataset
ds.Name = 'Dataset1'

データセット内の要素の総数。double として指定します。このプロパティは読み取り専用です。この値を取得するには Simulink.SimulationData.Dataset.numElements メソッドを使用します。

メソッド

addElementデータセットの最後に要素を追加
concatデータセットを別のデータセットに連結
exportToPreviousReleaseSave a Dataset object to a MAT-file you can open in any release
findデータセットから要素または要素の集合を取得
getデータセットから要素または要素の集合を取得
getElementNamesデータセットのすべての要素の名前を返す
numElementsデータセットの要素数を取得
plot[信号のプレビュー] ウィンドウまたはシミュレーション データ インスペクターでデータセット要素をプロットする
setElement指定されたインデックスに格納された要素を変更

ヒント

MAT ファイル内の Dataset 変数の名前を取得するには、関数 Simulink.SimulationData.DatasetRef.getDatasetVariableNames を使用すると、関数 who や関数 whos を使用するよりも高速に処理されます。

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、オブジェクトのコピー (MATLAB)を参照してください。

すべて折りたたむ

2 つの To Workspace ブロックのデータを Dataset 形式に変換し、それらを連結します。myvdp は、simout および simout1 という変数をもつ 2 つの To Workspace ブロックを含む vdp モデルです。これらのブロックでは時系列の形式でデータを記録しています。

mdl = 'myvdp';
open_system(mdl);
sim(mdl)
ds = Simulink.SimulationData.Dataset(simout);
ds1 = Simulink.SimulationData.Dataset(simout1);
dsfinal = concat(ds,ds1)

中かっこインデックス構文を使用して、3 つの要素をもつ logsout 信号ログ データセットを操作します。

logsout データセットの 2 番目の要素を取得します。

logsout{2}

3 番目の要素の名前を変更します。

logsout{3}.Name = 'thirdSignal'

4 番目の要素を追加します。

time = 0.1*(0:100)';
element4 = Simulink.SimulationData.Signal;
element4.Name = 'C';
element4.Values = timeseries(3*sin(time),time);
logsout{4} = element4

R2011a で導入