Main Content

getAsDatastore

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

参照された Dataset オブジェクトから要素の matlab.io.datastore.SimulationDatastore 表現を取得する

構文

element = Simulink.SimulationData.DatasetRef.getAsDatastore(datasetref_elements)

説明

element = Simulink.SimulationData.DatasetRef.getAsDatastore(datasetref_elements) は、要素のインデックス、名前、またはブロック パスに基づいて、参照されたデータセットからの要素または要素の集合の matlab.io.datastore.SimulationDatastore 表現を返します。

次のいずれかの方法を使用して要素が MAT ファイルに配置された場合、Dataset 要素を matlab.io.datastore.SimulationDatastore オブジェクトとして表すことができます。

  • Dataset 形式のデータを永続ストレージ (MAT ファイル) に記録する。

  • 要素を Simulink.SimulationData.Dataset オブジェクトに配置し、Dataset オブジェクトを v7.3 MAT ファイルに保存する。

Dataset 要素の SimulationDatastore 表現は、その要素の値フィールドの SimulationDatastore オブジェクトを作成します。SimulationDatastore 表現は、要素の Values プロパティのデータが他のシミュレーションまたは MATLAB® にストリーミングされるのをサポートします。

メモ

次のデータ型を含む Dataset 要素に対して SimulationDatastore を使用することはできません。

  • 配列

SimulationDatastore オブジェクトを使用して、次のことを実行できます。

  • ディスク上の MAT ファイルに保存されている、ログ記録されたシミュレーション データを参照する。

  • ディスクからシミュレーションにインクリメント形式でストリーミングする信号を指定する。

  • MATLAB 関数を使用したビッグ データ解析の基礎を提供する。

入力引数

すべて展開する

MAT ファイル内の参照されたデータセットの要素。インデックス、名前 (文字ベクトルとして)、またはブロック パス (文字ベクトルとして) として指定します。

出力引数

すべて展開する

SimulationDatastore オブジェクトを使用してアクセスされる要素。matlab.io.datastore.SimulationDatastore オブジェクトまたは Simulink.SignalSimulink.State、あるいは Values データで matlab.io.datastore.SimulationDatastore オブジェクトが使用される類似のオブジェクトのいずれかとして返されます。

すべて展開する

信号データを永続ストレージに記録し ([データセットのデータをファイルにログ] コンフィギュレーション パラメーターを選択)、モデルをシミュレートします。

Dataset データ (logsout) を out.mat MAT ファイルに記録する信号に対して、DatasetRef を作成します。

sigLogRef = Simulink.SimulationData.DatasetRef('out.mat','logsout');
firstSig = sigLogRef.getAsDatastore(1)
firstSig = 

  Simulink.SimulationData.Signal
  Package: Simulink.SimulationData

  Properties:
              Name: 'x1'
    PropagatedName: ''
         BlockPath: [1x1 Simulink.SimulationData.BlockPath]
          PortType: 'outport'
         PortIndex: 1
            Values: [1×1 matlab.io.datastore.SimulationDatastore]

データを別のモデルに読み込みます。この手法では、別のシミュレーション用に信号 x1 の値をストリーミングします。

ds = Simulink.SimulationData.Dataset;
ds{1} = sigLogRef{1};
sim('other_model','ExternalInput','ds');

代替方法

インデックスの使用を合理化するために、中かっこ ({}) 構文を使用して、DatasetRef オブジェクトの信号値に対して SimulationDatastore オブジェクトを取得できます。要件および結果は、getAsDatastore を使用する場合と同じです。たとえば、信号データを永続ストレージに記録し ([データセットのデータをファイルにログ] コンフィギュレーション パラメーターを選択)、モデルをシミュレートする場合は、次のようになります。

sigLogRef = Simulink.SimulationData.DatasetRef('out.mat','logsout');
firstSig = sigLogRef{1}
ans = 

  Simulink.SimulationData.Signal
  Package: Simulink.SimulationData

  Properties:
              Name: 'x1'
    PropagatedName: ''
         BlockPath: [1x1 Simulink.SimulationData.BlockPath]
          PortType: 'outport'
         PortIndex: 1
            Values: [1×1 matlab.io.datastore.SimulationDatastore]

バージョン履歴

R2017a で導入