主要内容

金宝appSimulink.SimulationData.DatasetRef类

包:金宝app仿真软件。SimulationData
超类:

创建金宝appSimulink.SimulationData.DatasetRef对象

描述

要使用引用来访问金宝appSimulink.SimulationData.Dataset对象存储在mat文件中,创建一个金宝appSimulink.SimulationData.DatasetRef对象。您可以使用此引用来避免内存耗尽,方法是通过一个信号一个信号地检索数据日志到持久存储.您可以流式DatasetRef对象导入根级输入端口,或者可以使用它创建SimulationDatastore用于流处理的对象。详细信息请参见为模拟加载大数据

的数组,用于并行模拟金宝app仿真软件。SimulationInput对象,如果您正在记录到文件,Simulink金宝app®

  • 创建金宝appSimulink.SimulationData.DatasetRef对象来访问mat文件中的输出数据,并将这些对象包含在SimulationOutput对象数据

  • 使CaptureErrors模拟论证

建设

DSRefObj= 金宝appSimulink.SimulationData.DatasetRef (位置标识符类的内容创建引用金宝appSimulink.SimulationData.Dataset变量存储在mat文件中。

输入参数

全部展开

MAT-file包含金宝appSimulink.SimulationData.Dataset要引用的对象,指定为字符向量。字符向量是mat文件的路径。不要在不同的地区使用一个地区的文件名。

a的名称金宝appSimulink.SimulationData.Dataset变量,指定为字符向量。当您登录到持久存储时,Simulink将使用为每种日志记录指定的变量名。金宝app

假设您使用默认变量名进行信号记录(logsout)和用于持久存储日志记录的默认mat文件名(mat.out),在模拟模型后,然后创建对数据集对象的信号测井,在MATLAB®命令行输入:

sigLogRef = 金宝appSimulink.SimulationData.DatasetRef('out.mat','logsout');

输出参数

全部展开

对日志记录数据集的引用,返回为金宝appSimulink.SimulationData.DatasetRef对象。

属性

全部展开

MAT-file包含金宝appSimulink.SimulationData.Dataset要引用的对象,指定为字符向量。字符向量是mat文件的路径。包括.mat文件名中的扩展名。不要在不同的地区使用一个地区的文件名。

a的名称金宝appSimulink.SimulationData.Dataset变量,指定为字符向量。当您登录到持久存储时,Simulink将使用为每种日志记录指定的变量名(金宝app例如,“logsout”信号测井数据)。

方法

使用numElementsgetElement,getElementNames的方法金宝appSimulink.SimulationData.DatasetRef对象的方法与使用这些方法的方法相同金宝appSimulink.SimulationData.Dataset对象。

方法

目的

numElements

从数据集中获取元素个数

getElementNames

返回数据集中所有元素的名称

得到

得到方法的别名getElement方法。

请注意

可以使用花括号简化索引语法以访问数据集引用中的元素,而不是使用得到getElement方法。要使用花括号获取元素,下标必须是不大于变量中元素数量的标量。的得到而且getElement方法支持按名称或金宝app块路径以及按索引指定元素。

从数据集获取元素

getAsDatastore

得到matlab.io.datastore.SimulationDatastore元素的表示形式DatasetRef对象

getDatasetVariableNames

名单名称数据集MAT-file中的变量

情节

在模拟数据检查器中绘制数据

提示

得到的名字数据集变量,使用金宝appSimulink.SimulationData.DatasetRef.getDatasetVariableNames函数处理速度比使用功能。

复制语义

你可以复制DatasetRef对象属性的值。但是,复制DatasetRef对象生成句柄对象。复制DatasetRef对象不会复制该对象引用的mat文件中的数据。拷贝的详细操作请参见复制对象在MATLAB文档中。

例子

全部折叠

这个例子展示了如何构造和使用金宝appSimulink.SimulationData.DatasetRef对象来访问记录到持久存储的模型的数据。这个简单的示例展示了记录到持久存储的基本步骤。这个示例并不代表将日志记录到持久存储的实际情况,因为它显示的是一个内存需求较小的简短模拟。

打开vdp模型。

配置参数>数据导入/导出窗格中,选择以下参数:

  • 日志数据集数据到文件

设置格式参数数据集

保持其他参数设置不变,然后单击应用

在模型中,单击一个信号并从操作栏中选择启用数据日志

模拟模型。

列一个清单数据集中的变量名out.mat文件。

varNames = 金宝appsimulink . simulationdata . datasettref . getdatasetvariablenames (“out.mat”
varNames = 1x2单元格数组'logsout' 'xout'

创建对存储在其中的已记录状态数据的引用out.mat.记录状态数据的变量为xout

statesLogRef = 金宝appSimulink.SimulationData.DatasetRef(“out.mat”“xout”
statesLogRef = 金宝appSimulink.SimulationData.DatasetRef特征:位置:out。名称BlockPath ____ _________ 1 " vdp/x1 2 " vdp/x2 .mat (/my_files/out.mat)标识符:xout解析数据集:'xout'与2个元素名称BlockPath ____ _________ 1 " vdp/x1 2 " vdp/x2 .mat

创建对存储在中的信号记录数据的引用out.mat.信号测井数据的变量为logsout

sigLogRef = 金宝appSimulink.SimulationData.DatasetRef(“out.mat”“logsout”
sigLogRef = 金宝appSimulink.SimulationData.DatasetRef特征:位置:out。mat (/my_files/out.mat)标识符:logsout已解析数据集:'logsout',有1个元素名称BlockPath ____ _________ 1 x1 vdp/x1 .mat

使用numElements访问已记录状态数据集中的元素数量。

statesLogRef.numElements
Ans = 2

使用DatasetRef访问信号记录数据集的第一个元素。

sigLogRef {1}
信号包:Si金宝appmulink. simulationdata . ans = Simulink. simulationdata . signal Package: Simulink. Simulink. ansSimulationData属性:Name: 'x1' PropagatedName: '' BlockPath: [1x1 Simulink.SimulationData.BlockPath] PortType: 'outport' PortIndex: 1 Values: [1x1 timeseries] Methods, Superclasses

删除持久存储mat文件,并尝试使用DatasetRef对象。

删除(“out.mat”);statesLogRef.get (1)
文件不存在。

statesLogRef仍然存在,但它是对数据集对象,该对象位于不再存在的文件中。

在R2016a中引入