主要内容

金宝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文件的路径。不要在不同的地区使用来自一个地区的文件名。

的名字金宝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文件名中的扩展名。不要在不同的地区使用来自一个地区的文件名。

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

方法

使用numElementsgetElement,getElementNames方法一金宝appSimulink.SimulationData.DatasetRef对象的方法与金宝appSimulink.SimulationData.Dataset对象。

方法

目的

numElements

从数据集获取元素的数量

getElementNames

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

得到

得到方法的别名getElement方法。

请注意

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

从数据集获取元素

getAsDatastore

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

getDatasetVariableNames

列表的名称数据集变量MAT-file

情节

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

提示

来得到名字数据集在mat -文件中使用金宝appSimulink.SimulationData.DatasetRef.getDatasetVariableNames函数处理速度比使用功能。

复制语义

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

例子

全部折叠

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

打开vdp模型。

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

  • Log数据集到文件

设置格式参数数据集

其他参数保持不变,单击应用

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

模拟模型。

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

varNames = 金宝appSimulink.SimulationData.DatasetRef.getDatasetVariableNames (“out.mat”
varNames = 1x2 cell array ' logout ' 'xout'

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

statesLogRef = 金宝appSimulink.SimulationData.DatasetRef (“out.mat”“xout”
Simulink.Simula金宝apptionData.DatasetRef特征:Location: out。Name BlockPath ____ _________ 1 " vdp/x1 2 " vdp/x2 .mat (/my_files/out.mat) Identifier: xout Resolved Dataset: 'xout' with 2 elements

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

sigLogRef = 金宝appSimulink.SimulationData.DatasetRef (“out.mat”“logsout”
sigLogRef = 金宝appSimulink.SimulationData.DatasetRef特征:位置:out。mat (/my_files/out.mat) Identifier: logsout Resolved Dataset: 'logsout' with 1 element Name BlockPath ____ _________ 1 x1 vdp/x1 .mat (/my_files/out.mat

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

statesLogRef.numElements
ans = 2

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

sigLogRef {1}
ans = 金宝appSimulink. simulationdata . signal Package: Simulink。SimulationData属性: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