このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
多くのタイムステップと信号があるモデルのシミュレーションでは,コンピューターの作業メモリに収まらないほどの大きなデータを使用したり作成したりする場合があります。シミュレーションの入力データがメモリに収まらない場合,そのデータを,ルートレベルの轮廓尺寸ブロックでシミュレーションの入力として使用するいくつかの方法のうちの1つを選択できます。これらの方法は,版本7.3の垫ファイルで数据集
形式で保存されたデータの読み込みにおいて機能します。これには別のシミュレーションから記録されたデータを含みます。
個別の入力信号がメモリに収まらないほど大きい場合は,matlab.io.datastore.SimulationDatastore
オブジェクトを使用して信号データにアクセスできます。SimulationDatastore
オブジェクトからのデータは,メモリに収まるまとまりとしてシミュレーションにインクリメンタルに読み込まれます。
シミュレーションの入力がメモリに読み取れないほど大きいファイルの万博1manbetxSimulink.SimulationData.Dataset
オブジェクトで指定されている場合,万博1manbetxSimulink.SimulationData.DatasetRef
オブジェクトを使用して,数据集
オブジェクトの内容全体をモデルにストリーミングできます。
信号がメモリに収まり,メモリに収まらないほど大きいファイルに保存されている場合,万博1manbetxSimulink.SimulationData.DatasetRef
オブジェクトを使用して,個別の信号をファイルからメモリに読み込むことができます。
メモ
シミュレーションで記録されたデータを別のシミュレーションで入力として使用する場合,matlab.io.datastore.sdidatastore
オブジェクトを使用してデータをモデルにストリーミングすることもできます。sdidatastore
オブジェクトは,ディスク上のシミュレーションデータインスペクターのリポジトリにあるデータを参照するため,記録されたデータをファイルに保存する必要はありません。反復的なワークフローではsdidatastore
オブジェクトをシミュレーション入力として使用することを検討してください。
すべてのビッグデータの読み込み方法は,データがメモリに収まらず,余分な手順を必要とする場合など,特別なケースに使用します。これらの例では,メモリいっぱいに収まるデータを使用して,ビッグデータの読み込みに必要なステップを説明します。シミュレーションの入力がメモリに収まる場合は,別の読み込み手法を使用することを検討してください。
SimulationDatastore
オブジェクトを使用した個別の信号のストリーミング入力データ内の個別の信号がメモリに収まらないほど大きい場合,それらの信号についてmatlab.io.datastore.SimulationDatastore
オブジェクトを作成して,モデルにストリーミングできます。モデルにストリーミングする信号についてのSimulationDatastore
オブジェクトを作成するには,まず,対象の信号を含む数据集
オブジェクトを参照する万博1manbetxSimulink.SimulationData.DatasetRef
オブジェクトを作成します。たとえば,slexAircraftExample
モデルのシミュレーションからログ記録されるデータ用にDatasetRef
を作成します。
logsout_DSR = 万博1manbetxSimulink.SimulationData.DatasetRef (“aircraftData.mat”,“logsout”);
中かっこを使ってDatasetRef
オブジェクトにインデックス付けすることによって,またはgetAsDatastore
メソッドをDatasetRef
オブジェクトに使用することによって,対象の信号についてSimulationDatastore
オブジェクトを作成できます。どちらの場合も,SimulationDatastore
オブジェクトは返された万博1manbetxSimulink.SimulationData.Signal
オブジェクトの值
プロパティにあります。
数据集
オブジェクト内の信号のインデックスが分かっている場合,中かっこを使ってDatasetRef
オブジェクトにインデックス付けして,信号にSimulationDatastore
を作成できます。
alphaRad_ds = logsout_DSR {4}
alphaRad_ds = 万博1manbetxSimulink. simulationdata . signal Package: Simulink. .SimulationData属性:名称:α,rad PropagatedName:”BlockPath: [1 x1 Simulink.SimulationDat万博1manbetxa。BlockPath] PortType: 'outport' PortIndex: 4 Values: [1x1 matlab.io.datastore. txt]SimulationDatastore)方法,父类
信号インデックス,名前,またはブロックパスを使用して信号のSimulationDatastore
オブジェクトを作成するには,getAsDatastore
メソッドを使用します。たとえば,坚持
信号のSimulationDatastore
オブジェクトを作成します。
stick_ds = logsout_DSR.getAsDatastore (“坚持”)
Simulink. s万博1manbetximulationdata . signal Package: Simulink。SimulationData属性:名称:“Stick”传播名称:“BlockPath: [1x1 Simulink.SimulationData. Bl万博1manbetxockPath: [1x1 Simulink.SimulationData. BlockPath: [1x1 Simulink.SimulationData. BlockPath]”BlockPath] PortType: 'outport' PortIndex: 1 Values: [1x1 matlab.io.datastore. value: [1x1 matlab.io.datastore. value]SimulationDatastore)方法,父类
stick_ds
オブジェクトおよびalphaRad_ds
万博1manbetxSimulink.SimulationData.Signal
オブジェクトの值
プロパティがSimulationDatastores
であるため,信号データがモデルにストリーミングされます。SimulationDatastore
にバックアップされた信号
オブジェクトを数据集
オブジェクトの要素として,または输入
パラメーターのコンマ区切りリストの項目として含めることができます。
DatasetRef
オブジェクトを使用した数据集
全体のストリーミングシミュレーションの入力がメモリに読み込めないほど大きいファイル内の数据集
で指定されている場合,万博1manbetxSimulink.SimulationData.DatasetRef
オブジェクトを作成してシミュレーションの入力をモデルにストリーミングできます。[データのインポート/エクスポート]ペインで[入力)パラメーターにDatasetRef
オブジェクトを指定する場合,DatasetRef
の作成に使用される数据集
オブジェクト内のすべての信号がモデルにストリーミングされます。数据集
オブジェクトから個別の信号を読み込む,またはストリーミングするには,他のビッグデータの読み込み手法のうちの1つを使用します。
シミュレーションの入力数据集
が保存されているファイルに他の数据集
とデータが含まれている場合,関数万博1manbetxSimulink.SimulationData.DatasetRef.getDatasetVariableNames
を使用して,ファイルに含まれている数据集
オブジェクトのリストを表示できます。数据集
オブジェクト内の変数名のプレビューは,ファイルの内容がメモリに収まらない場合に特に有用です。
datasetNames = 万博1manbetxSimulink.SimulationData.DatasetRef.getDatasetVariableNames (“aircraftData.mat”)
datasetNames =1 x3单元格{' logsout}{‘xout}{'你'}
logsout
のDatasetRef
オブジェクトを作成します。
logsout_DSR = 万博1manbetxSimulink.SimulationData.DatasetRef (“aircraftData.mat”,“logsout”);
输入
パラメーターを使用して,万博1manbetxSimulink.SimulationData.Dataset
オブジェクトを読み込むのと同じ方法でlogsout_DSR
を読み込むことができます。DatasetRef
の作成に使用する数据集
オブジェクト内の各信号は,メモリに収まるまとまりとしてモデルにストリーミングされます。
DatasetRef
オブジェクトからの個別の信号の読み込みシミュレーションの入力信号が個別にはメモリに収まり,メモリに収まらないファイル内の数据集
オブジェクトに保存されている場合,万博1manbetxSimulink.SimulationData.DatasetRef
オブジェクトを使用して,対象の各信号をメモリに読み込みます。その後,信号をモデルのシミュレーションの入力として読み込むことができます。
最初に,読み込む信号を含むファイル内の数据集
オブジェクトを参照するDatasetRef
オブジェクトを作成します。たとえば,slexAircraftExample
モデルのシミュレーションからファイルにログ記録されたデータのために,DatasetRef
オブジェクトを作成します。
logsout_DSR = 万博1manbetxSimulink.SimulationData.DatasetRef (“aircraftData.mat”,“logsout”);
得到
メソッドまたはgetElement
メソッドを使用して,DatasetRef
オブジェクトを使って個別の信号をメモリに読み込むことができます。両方のメソッドは,同じ構文を使用して指定された要素をメモリに読み込みます。数据集
オブジェクト内のインデックスまたはその名前を使用して,メモリに読み込む信号を指定できます。読み込む信号の名前がわからない場合,getElementNames
メソッドを使用してDatasetRef
オブジェクトによって参照される数据集
オブジェクト内の要素の名前を確認できます。
elNames = logsout_DSR.getElementNames
elNames =15 x1细胞{0x0 char} {0x0 char} {'alpha, rad'} {'q, rad/sec'} {0x0 char} {'qGust'} {'wGust'} {0x0 char} {'Stick'} {0x0 char} {0x0 char} {0x0 char} {0x0 char} {' x0 char} {' x0 char} {' x0 char} {' x0 char} {' x0 char} {' x0 char} {' x0 char} {' x0 char} {' x0 char}}
その名前を使用してqGust
信号をメモリに読み込みます。
qGust = logsout_DSR.getElement (“qGust”)
qGust = 万博1manbetxSimulink. simulationdata . signal Package: Simulink. .SimulationData属性:名称:'qGust' PropagatedName: " BlockPath: [1x1 Simulink.Simul万博1manbetxationData. BlockPath: [1x1 Simulink.SimulationData. BlockPath]BlockPath] PortType: 'outport' PortIndex: 2 Values: [1x1 timeseries]方法,超类
モデルのルートレベルの尺寸ブロックに読み込むシミュレーションの入力信号の数据集
オブジェクトにqGust
信号を追加したり,qGust
を输入
パラメーターのコンマ区切りリストの項目として指定したりできます。
matlab.io.datastore.SimulationDatastore
|万博1manbetxSimulink.SimulationData.DatasetRef
|万博1manbetxSimulink.SimulationData.Dataset