使用许多时间步骤和信号模拟模型可以使用并创建太大以适合计算机上工作内存的数据。当您的模拟输入数据不适合内存时,您可以选择多种策略之一,以使用该数据作为具有根级的模拟输入inport.块。这些策略适用于加载存储的数据数据集
在7.3版本中的格式化,包括从另一个模拟中记录的数据。
当各个输入信号太大而无法适合内存时,可以使用amatlab.io.datastore.simulationdatastore.
对象访问信号数据。来自的数据仿真田间
对象以替换为内存的块递增地加载模拟。
当您的模拟输入由A指定时金宝appsimulink.simulationdata.dataset.
在一个文件中加载到内存的文件中的对象,您可以流流整个内容数据集
使用a将对象进入您的模型金宝appsimulink.simulationdata.datasetref.
目的。
当信号适合内存并存储在太大以加载到内存的文件中时,您可以使用a将单个信号从文件加载到内存中金宝appsimulink.simulationdata.datasetref.
目的。
笔记
当您想要使用一个模拟中记录的数据作为另一个模拟时,您还可以使用a将数据传输到模型中matlab.io.datastore.sdidatastore.
目的。这sdidatastore.
对象引用磁盘上模拟数据检查器存储库中的数据,因此您不必将记录的数据保存到文件中。考虑使用A.sdidatastore.
对象作为迭代工作流的仿真输入。
所有大数据加载策略都是特例当您的数据不适合内存时,可能需要额外的步骤。这些示例使用完全符合内存的数据来说明大数据加载所需的步骤。当您的仿真输入适合内存时,请考虑使用其他加载技术。
仿真田间
对象当输入数据中的单个信号太大而无法适合内存时,可以创建matlab.io.datastore.simulationdatastore.
对这些信号的对象并将其流入模型。创建一个仿真田间
对于要将信号流入模型的对象,首先创建一个金宝appsimulink.simulationdata.datasetref.
对象参考数据集
包含您感兴趣的信号的对象。例如,创建一个datasetref.
用于从模拟中的记录数据slexaircraftexample.
模型。
logsout_dsr = 金宝appsimulink.simulationdata.datasetref('aircortdata.mat'那'logsout');
你可以创建一个仿真田间
通过索引到您所需信号的对象datasetref.
用卷曲括号或使用的对象getasdatastore.
备datasetref.
目的。在这两种情况下,仿真田间
对象存在于价值
返回的财产金宝appsimulink.simulationData.Signal.
目的。
当您了解信号中的信号索引时数据集
对象,您可以索引到datasetref.
卷曲括号的对象创建一个仿真田间
为您的信号。
alpharad_ds = logsout_dsr {4}
alphanad_ds = 金宝appsimulink.simulationdata.signal包:simulink.simulationdata属性:名称:'alpha,rad'传播名称:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''ovallinkpath:[1x1 simulink.simulationdata.blockpath] porttype:'outport'portindex:4值:[1x1 matlab.io.datastore.simulationdatastore]方法,超类
创建一个仿真田间
使用信号索引,名称或块路径的信号对象,使用getasdatastore.
方法。例如,创建一个仿真田间
对象戳
信号。
stick_ds = logsout_dsr.getAsdataStore('戳')
stick_ds = 金宝appsimulink.simulationdata.signal包:simulink.simulationdata属性:名称:'kick'传播名称:''块路径:[1x1 simulink.simulationdata.blockpath] porttype:'outport'portindex:1值:[1x1 matlab.io.dataStore.simulationdatastore]方法,超类
因为这价值
属性stick_ds.
和alpharad_ds.
金宝appsimulink.simulationData.Signal.
对象是仿真涂层
,信号数据流入您的模型。你可以包括一个仿真田间
支持信号
对象作为一个元素数据集
对象或作为项目输入
参数逗号分隔列表。
数据集
用一个datasetref.
目的当您的模拟输入指定在a中数据集
在一个太大而无法加载到内存的文件中,您可以创建一个金宝appsimulink.simulationdata.datasetref.
对象将模拟输入流流入模型。指定一个datasetref.
数据导入/导出窗格上的输入参数对象,所有信号数据集
用于创建的对象datasetref.
流入您的模型。使用其他大数据加载技术之一来加载或流中传输各个信号数据集
目的。
当文件输入的文件时数据集
存储包含其他数据集
和数据,你可以使用金宝appsimulink.simulationdata.datasetref.getdataseTvariaBlenames.
函数查看列表数据集
文件中包含的对象。预览变量名称数据集
当文件内容不适合内存时,对象特别有用。
datasetnames = 金宝appsimulink.simulationdata.datasetref.getdatasetvariablenames('aircortdata.mat')
datasetnames =.1x3细胞{'logsout'} {'xout'} {'yout'}
创建一个datasetref.
对象Logsout.
。
logsout_dsr = 金宝appsimulink.simulationdata.datasetref('aircortdata.mat'那'logsout');
你可以加载logsout_dsr.
使用输入
参数同样地加载a金宝appsimulink.simulationdata.dataset.
目的。每个信号数据集
用于创建的对象datasetref.
流入嵌入内存的块中的模型。
datasetref.
目的当模拟输入信号单独适用于内存并存储在一个数据集
对象在不适合内存的文件中,使用a金宝appsimulink.simulationdata.datasetref.
对象将每个感兴趣的信号加载到内存中。然后,您可以将信号加载为模型的仿真输入。
首先,创造datasetref.
对象参考数据集
包含要加载的信号的文件中的对象。例如,创建一个datasetref.
从模拟中记录到文件的数据slexaircraftexample.
模型。
logsout_dsr = 金宝appsimulink.simulationdata.datasetref('aircortdata.mat'那'logsout');
你可以使用得到
或者呕吐
将单个信号加载到内存中的方法datasetref.
目的。两种方法都使用相同的语法将指定的元素加载到内存中。您可以使用其索引指定要将其加载到内存中的信号数据集
对象或其名称。如果您不知道要加载的信号的名称,请使用GetElementnames.
查看元素名称的方法数据集
由此引用的对象datasetref.
目的。
Elnames = logsout_dsr.getElementName.
Elnames =.15x1细胞{0x0 char} {0x0 char} {'alpha,rad'} {'q,rad / sec'} {0x0 char} {'qgust'} {'wgust'} {'wgust'} {0x0 char} {0x0 char} {0x0 char}{0x0 char} {'stick'} {0x0 char} {0x0 char} {0x0 char}
加载quust.
使用其名称将信号变为内存。
qgust = logsout_dsr.getElement(“qgust”)
qgust = 金宝appsimulink.simulationData.Signal包
你可以添加quust.
向A发出信号数据集
模拟输入信号的对象要加载到型号中的根级Inport块,或者您可以指定quust.
作为一个项目输入
参数逗号分隔列表。
matlab.io.datastore.simulationdatastore.
|金宝appsimulink.simulationdata.dataset.
|金宝appsimulink.simulationdata.datasetref.