主要内容

金宝appSimulink.SimulationData.Dataset

访问记录仿真数据或组仿真输入数据

描述

一个金宝appSimulink.SimulationData.Dataset对象对相关数据进行分组。记录的模拟结果经常分组在数据集对象。你也可以使用一个数据集对象对模拟输入数据进行分组时,您可以使用轮廓尺寸块或块信号编辑器块。

一个数据集对象由日志模拟数据创建,包含一个或多个元素。每个元素包含一个记录信号、输出、数据存储或状态的数据。每个元素都是一个对象,对象的类型取决于它所包含的数据。

当你创造一个数据集对象对模拟输入数据进行分组,每个元素包含信号、总线或总线数组的数据。您可以以所使用的加载方法支持的任何格式添加数据。金宝app

输入类型 数据格式

标量、矢量或多维信号

公共汽车

  • 结构的结构timeseries时间表,或matlab.io.datastore.SimulationDatastore匹配总线层次结构的对象

  • 金宝appsimulink.simulationData.Signal.

数组的公交车

  • 数组的结构

  • 金宝appsimulink.simulationData.Signal.

功能呼叫信号

  • N1的向量

  • 金宝appsimulink.simulationData.Signal.

创建

测井模拟数据通常会产生金宝appSimulink.SimulationData.Dataset对象,包括:

  • 使用信号日志记录日志数据。

  • 的日志输出、状态或最终状态数据集格式。

  • 日志数据存储。

  • 使用该存储空间或垫文件日志数据记录块。

  • 日志数据数据集格式使用范围块。

  • 使用浮动范围范围观众

将模型的外部输入数据分组数据集对象,你可以:

  • 创建一个空数据集对象,并使用addElement函数。

  • 使用createInputDataset创建一个数据集包含每个根级元素的对象轮廓尺寸块或在公共汽车元素块在模型中。然后,指定每个元素的数据。

  • 使用信号编辑器交互式地创建和编辑数据集包含模拟输入数据的对象。有关详细信息,请参见创建和编辑信号数据

您还可以创建数据集通过转换使用其他格式来使用的数据来使用数据集格式。使用通用格式的所有数据可以促进后处理。有关详细信息,请参见将记录数据转换为数据集格式

描述

例子

ds= 金宝appSimulink.SimulationData.Dataset创建一个空的,未命名的数据集对象,可以向其添加元素。使用此语法手动创建数据集对象,该对象包含要使用其加载的外部输入数据轮廓尺寸在公共汽车元素块。

ds= 金宝appSimulink.SimulationData.Dataset (dataToConvert创建一个未命名的数据集对象,该对象包含包含该数据的一个或多个元素dataToConvert.使用此语法将使用另一种格式的数据转换为数据集格式。有关详细信息,请参见将记录数据转换为数据集格式

转换过程一次只转换一个输入的数据。要转换多个变量的数据,每次转换一个变量,然后使用concat函数组合得到的结果数据集对象。

ds= 金宝appSimulink.SimulationData.Dataset (dataToConvert,“datasetname”,dsname.创造一个数据集指定名称的dsname.包含一个或多个包含数据的元素dataToConvert.使用此语法将使用另一种格式的数据转换为数据集格式。有关详细信息,请参见将记录数据转换为数据集格式

输入参数

展开全部

要转换为的数据数据集格式,指定为timeseries对象,A时间表、结构、数组或金宝appsimulink.modeldatalogs.对象。转换的结果取决于输入数据的格式。

输入数据 转换的结果
timeseries对象或时间表

数据集对象,该对象包含金宝appsimulink.simulationData.Signal.对象与之timeseries时间表数据中的数据财产。

modeldatalogs.对象

数据集包含一个或多个的金宝appsimulink.simulationData.Signal.对象,该对象包含输入对象中每个信号的数据。

结构匹配结构随着时间的推移日志格式。

数据集包含一个或多个的金宝appsimulink.simulationData.Signal.对象,该对象包含输入结构中每个信号的数据。

结构匹配结构记录格式

数据集包含一个或多个的金宝appsimulink.simulationData.Signal.对象,该对象包含输入结构中每个信号的数据。

因为输入不包含时间数据,所以转换为开始时的每个信号创建时间向量0并使用采样间隔1

数组

数据集对象,该对象包含金宝appsimulink.simulationData.Signal.对象。的财产的信号对象包含一个timeseries对象,数据财产的timeseries对象包含整个数组。

由于输入不包含时间数据,转换为信号创建一个时间矢量,起始时间为0使用的采样间隔1

有关更多信息,请参见将记录数据转换为数据集格式记录数据的数据集转换

数据集对象名称,指定为字符串或字符向量。

输出参数

展开全部

数据集对象,返回a金宝appSimulink.SimulationData.Dataset对象。的数据集对象在不指定输入参数时为空。创建一个空数据集对象当您想在单个变量中对仿真输入数据进行分组。

当指定输入参数时,数据集对象包含一个或多个包含输入数据的元素。转换的结果取决于输入数据的格式。

输入数据 转换的结果
timeseries对象

数据集对象,该对象包含金宝appsimulink.simulationData.Signal.对象与之timeseries数据中的数据财产。

modeldatalogs.对象

数据集包含一个或多个的金宝appsimulink.simulationData.Signal.对象,该对象包含输入对象中每个信号的数据。

结构匹配结构随着时间的推移记录格式

数据集包含一个或多个的金宝appsimulink.simulationData.Signal.对象,该对象包含输入结构中每个信号的数据。

结构匹配结构记录格式

数据集包含一个或多个的金宝appsimulink.simulationData.Signal.对象,该对象包含输入结构中每个信号的数据。

因为输入不包含时间数据,所以转换为开始时的每个信号创建时间向量0并使用采样间隔1

数组

数据集对象,该对象包含金宝appsimulink.simulationData.Signal.对象。的财产的信号对象包含一个timeseries对象,数据财产的timeseries对象包含整个数组。

由于输入不包含时间数据,转换为信号创建一个时间矢量,起始时间为0使用的采样间隔1

有关更多信息,请参见将记录数据转换为数据集格式记录数据的数据集转换

特性

展开全部

数据集对象名称,指定为字符串或字符向量。当你创造一个数据集对象对模拟输入数据进行分组时,可以指定数据集对象。指定的名称不需要与包含数据集对象。

的名字的属性数据集将日志模拟数据创建的对象设置为与模型配置参数中指定的日志变量名匹配。

对象的功能

addElement 将元素添加到Dataset对象的末尾
concat 将数据集连接到另一个数据集
exportToPreviousRelease 救一个数据集对象到垫子文件,您可以在任何版本中打开
萃取物 从中提取数据金宝appSimulink.SimulationData.Dataset金宝appsimulink.simulationData.Signal.对象为时间表
找到 从数据集获取元素或元素集合
得到 从数据集获取元素或元素集合
getElementNames 返回DataSet中所有元素的名称
诺维格 获取数据集中的元素个数
情节 绘图数据检查器中的数据
setElement 更改存储在指定索引处的元素

例子

全部折叠

记录输出的VDP.模型并访问记录数据。

打开模型。属性配置输出日志记录数据集格式化并使用模拟模型sim卡函数。

Open_System(“vdp”);= sim卡(“vdp”'saptoutput'“上”“SaveFormat”'dataset');

所有记录的数据以单个变量的形式返回,出去,作为一个金宝app仿真软件。SimulationOutput对象。的SimulationOutput对象包含一个金宝appSimulink.SimulationData.Dataset对象组的每种记录数据。此示例仅日志输出,因此有一个数据集对象,

出去
=仿真软件。金宝app模拟输出: yout: [1x1 Simulink.SimulationData.Dataset] SimulationMetadata: [1x1 Simulink.SimulationMetadata] ErrorMessage: [0x0 char]

访问数据集包含使用点的记录输出数据和名称的对象数据集对象。的数据集对象包含一个金宝appsimulink.simulationData.Signal.对象的每个输出。

输出= out.yout
名称BlockPat金宝apph ____ _________ 1 [1x1 Signal] x1 vdp/Out1 2 [1x1 Signal] x2 vdp/Out2 -使用大括号{}访问,修改,或使用索引添加元素。

信号对象具有关于信号的元数据,包括到块的路径和产生信号的端口的索引。使用getElement函数访问信号对象,该对象包含信号数据X1按名字。您也可以使用Crace括号({})来访问元素数据集通过索引对象。

outputX1 = getElement(输出,'x1'
Simulink. o金宝apputputX1 = Simulink. simulationdata . signal Package: Simulink。模拟数据特性: Name: 'x1' PropagatedName: '' BlockPath: [1x1 Simulink.SimulationData.BlockPath] PortType: 'inport' PortIndex: 1 Values: [1x1 timeseries] Methods, Superclasses

信号数据存储在财产的信号对象作为timeseries对象。时间值在时间财产的timeseries对象。信号值在数据财产。

outputValsX1 = outputX1。值
timeseries公共属性:Name: 'x1' Time: [64x1 double] TimeInfo: tsdata. Propertiestimeemetdata数据:[64x1 double] DataInfo: tsdata. datametdata . timeemetdata
outputTimesX1 = outputValsX1。时间
OutputTimesX1 =64×10 0.0001 0.0006 0.0031 0.0157 0.0785 0.2844 0.5407 0.8788 1.2788⋮
outputdatax1 = outputvalsx1.data.
OutputDatax1 =64×12.0000 2.0000 2.0000 2.0000 1.9998 1.9943 1.9379 1.8155 1.5990 1.2687⋮

您还可以通过将步骤组合成单行代码来访问时间值或数据值。

outputDataX1 = getElement (out.yout,'x1') .Values.Data
OutputDatax1 =64×12.0000 2.0000 2.0000 2.0000 1.9998 1.9943 1.9379 1.8155 1.5990 1.2687⋮

为三个模拟输入信号创建数据并将它们分组在a中数据集对象。一个简单的模型加载数据集对象使用三个根级导入块。模型中的Dashboard Scope块显示使用加载的输入数据创建的每个信号。

首先,创建要加载到模型中的信号数据。在该示例中使用表达式以创建输入信号的均匀间隔时间向量,尤其是在建模离散输入信号时。Matlab®支金宝app持创建均匀间隔的其他方法,但其他方法可以在时间数据中引入双精度舍入误差,这可能导致意外的模拟结果。

sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);时间= ';

为正弦信号,余弦信号和线性信号创建信号数据。

sinevals = sin(2 * pi / 3 *时间);cosvals = cos(2 * pi / 3 *时间);LINEVALS =时间;

创建一个timeseries对象以包含每个信号的数据。给每个timeseries对象描述性名称所以信号易于识别它们一旦分组数据集对象。

sinets = timeereries(阳台,时间,“名字”'正弦波');成本= timeseries (cosVals、时间“名字”'antine wave');未漂亚麻衬布= timeseries (lineVals、时间“名字”“行”);

创建一个数据集对象,并使用addElement函数添加每个timeseries对象的数据集对象。

inputData = 金宝appSimulink.SimulationData.Dataset;inputData。Name =“inputData”;inputData = addElement (inputData sineTS);inputData = addElement (inputData、成本);inputData = addElement (inputData未漂亚麻衬布)
inputdata = 金宝appsimulink.simulationdata.dataset'inputdata'带有3个元素名称块路径___________ _________ 1 [1x1次数] sine wave''2 [1x1次数] cusine wave'3 [1x1 timeeries] line'' - 使用括号{}来访问使用索引修改或添加元素。

使用根级导入块加载外部输入数据时,可以使用输入参数在“数据导入/导出”窗格的“模型配置参数”中。打开模型LoadInputDataset可以看到输入参数指定为输入数据

Open_System(“LoadInputDataset.slx”);

模拟模型。连接到第一个导入块的Dashboard Scope块显示正弦信号,连接到第二个导入块的Dashboard Scope块显示余弦信号,连接到第三个导入块的Dashboard Scope块显示线性信号。

= sim卡(“LoadInputDataset.slx”);

可以交换元素的顺序数据集对象,并查看元素映射到import块的方式所反映的更改。

inputData{1} =未漂亚麻衬布;inputData {3} = sineTS
名称BlockPath 金宝app___________ _________ 1 [1x1 timeseries] Line " 2 [1x1 timeseries] cos Wave " 3 [1x1 timeseries] Sine Wave " -使用大括号{}使用索引访问、修改或添加元素。

再次模拟模型。显示第一个元素的仪表板SCOPE块现在显示了显示第三个元素的行,仪表板SCOPE块显示正弦波,反映了所属元素的新订单数据集对象。

= sim卡(“LoadInputDataset.slx”);

提示

  • 你可以使用花括号({})来访问、添加或修改元素数据集通过索引对象。

  • 访问、添加或修改一个元素数据集对象的名称,使用getElementaddElement,setElement职能。

  • 使用仿真输入时使用数据集对象,您可以使用信号编辑器或信号编辑器块容易更改数据集对象为模拟提供输入。

  • 当您从数据集使用root对象轮廓尺寸块中,您可以使用Root导入映射器来映射数据集对象到A.轮廓尺寸通过块名称,块路径,信号名称或端口顺序阻止。您还可以编写自己的函数来映射数据。有关更多信息,请参见映射根导入信号数据

  • 将数据保存到数据集对象到垫文件,考虑保存到7.3垫文件如果内容的内容数据集对象太大而无法装入内存。您可以创建金宝appSimulink.SimulationData.DatasetRef引用一个数据集对象,无需将数据加载到内存中进行数据处理或加载大数据。有关更多信息,请参见加载大数据模拟

  • 保存数据集对象指向可以在较早版本中打开的MAT文件,请使用exportToPreviousRelease函数而不是保存函数。

  • 您可以编写自己的读者将数据从文件导入A.数据集对象在基本工作区、模型工作区或信号编辑器中使用金宝appSimulink.io.FileType类。有关更多信息,请参见创建自定义文件类型导入到信号编辑器

介绍了R2011a