主要内容

万博1manbetxSimulink.SimulationData.DatasetRef类

包裹:万博1manbetxSimulink.SimulationData
超类:

创建万博1manbetxSimulink.SimulationData.DatasetRef对象

描述

使用引用访问万博1manbetxSimulink.SimulationData.Dataset对象存储在MAT文件中,创建万博1manbetxSimulink.SimulationData.DatasetRef对象。您可以使用这个引用来避免内存耗尽,通过对您的数据信号逐个地检索数据登录到持久存储. 你可以用流媒体DatasetRef对象导入根级输入端口,也可以使用它来创建SimulationDatastore要用于流式处理的对象。有关详细信息,请参阅为模拟加载大数据

对于并行模拟,可以为其指定万博1manbetx模拟输入对象,如果你正在记录到文件,Simulink万博1manbetx®:

  • 创造万博1manbetxSimulink.SimulationData.DatasetRef对象访问MAT文件中的输出数据,并将这些对象包括在模拟输出对象数据

  • 启用捕获错误理由模拟

建设

DSREFBJ= 万博1manbetxSimulink.SimulationData.DatasetRef (地方,标识符)对象的内容的引用万博1manbetxSimulink.SimulationData.Dataset存储在MAT文件中的变量。

输入参数

全部展开

MAT-file包含万博1manbetxSimulink.SimulationData.Dataset对象,指定为字符向量。字符向量是mat文件的路径。不要在不同的地区使用来自一个地区的文件名。

的名字万博1manbetxSimulink.SimulationData.DatasetMAT文件中的变量,指定为字符向量。当您登录到永久性存储时,Simulink使用为每种记录指定的变量名。万博1manbetx

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

sigLogRef=Si万博1manbetxmulink.SimulationData.DatasetRef('out.mat','logsout');

输出参数

全部展开

引用日志数据集,返回为万博1manbetxSimulink.SimulationData.DatasetRef对象。

性质

全部展开

MAT-file包含万博1manbetxSimulink.SimulationData.Dataset对象,指定为字符向量。字符向量是MAT文件的路径。包括小地毯文件名中的扩展名。不要在不同的区域设置中使用来自一个区域设置的文件名。

的名字万博1manbetxSimulink.SimulationData.Dataset变量,指定为字符向量。当您将日志记录到持久存储时,Simulink将使用为每种日志类型指定的变万博1manbetx量名(例如,“logsout”用于信号测井数据)。

方法

使用婚礼,getElement,getElementNames一种方法万博1manbetxSimulink.SimulationData.DatasetRef对象的使用方式与对对象使用这些方法的方式相同万博1manbetxSimulink.SimulationData.Dataset对象。

方法

意图

婚礼

从数据集中获取元素数

getElementNames

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

得到

这个得到方法的别名getElement方法。

笔记

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

从数据集获取元素

getAsDatastore

得到matlab.io.datastore.SimulationDatastorea元素的表示DatasetRef对象

getDatasetVariableNames

列表的名称数据集MAT文件中的变量

情节

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

提示

得知数据集在mat -文件中使用万博1manbetxSimulink.SimulationData.DatasetRef.getDatasetVariableNames函数处理速度比使用功能。

复制语义

你可以复制DatasetRef对象属性的值。然而,复制DatasetRef对象产生一个句柄对象。复制DatasetRef对象不会复制对象引用的mat文件中的数据。复制的具体操作请参见复制对象在MATLAB文档中。

例子

全部折叠

此示例演示如何构造和使用万博1manbetxSimulink.SimulationData.DatasetRef对象来访问记录到持久性存储的模型的数据。此简单示例显示了记录到持久性存储的基本步骤。此示例并不代表记录到持久性存储的实际情况,因为它显示了一个具有较小内存需求的短模拟。

打开vdp模型

配置参数>数据导入/导出窗格,选择这些参数:

  • 将数据集数据记录到文件

设定格式参数到数据集

保持其他参数设置不变,然后单击申请

在模型中,单击一个信号,然后从操作栏中选择启用数据记录

模拟模型。

获得一份数据集中的变量名out.mat文件。

varNames = 万博1manbetxSimulink.SimulationData.DatasetRef.getDatasetVariableNames (“出去,垫子”)
varNames=1x2单元数组“logsout”“xout”

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

statesLogRef = 万博1manbetxSimulink.SimulationData.DatasetRef (“出去,垫子”,“xout”)
statesLogRef=Si万博1manbetxmulink.SimulationData.DatasetRef特征:位置:out.mat(/my_files/out.mat)标识符:xout解析的数据集:“xout”具有两个元素名称BlockPath ____________________

中存储的信号记录数据创建一个引用out.mat.信号记录数据的变量为logsout

sigLogRef=Si万博1manbetxmulink.SimulationData.DatasetRef(“出去,垫子”,“logsout”)
sigLogRef=Si万博1manbetxmulink.SimulationData.DatasetRef特征:位置:out.mat(/my_files/out.mat)标识符:logsout解析的数据集:“logsout”具有1个元素名BlockPath ________1x1 vdp/x1

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

州政府
ans=2

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

sigLogRef{1}
ans=Si万博1manbetxmulink.SimulationData.Signal包:Simulink.SimulationData属性:名称:'x1'传播数据名称:''块路径:[1x1 Simulink.SimulationData.BlockPath]端口类型:'outport'端口索引:1个值:[1x1 timeseries]方法,超类

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

删除(“出去,垫子”);statesLogRef.get (1)
文件不存在。

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

R2016a中引入