日志数据的数据集转换
为什么要转换为数据集格式?
您可以使用
构造函数转换一个MATLAB®工作区变量,该变量包含以这些格式之一记录到的数据金宝appSimulink.SimulationData.Dataset
数据集
格式:
数组
结构
有时间的结构
MATLAB timeseries
ModelDataLogs
从其他Simulink转换数据金宝app®日志记录格式为数据集
格式简化了编写脚本以记录后处理数据。例如,一个模型有多个到工作空间块可以使用不同的数据格式。将日志数据转换为数据集
Format避免了编写特殊代码来处理不同格式的需要。
不同的模拟模式对数据日志格式具有不同的支持级别。金宝app在普通模式和加速模式之间切换可能需要更改所使用的日志记录格式。
转换为数据集
格式还可以更容易地利用所需的特性数据集
格式。您可以轻松地转换在使用其他格式的早期版本中记录的数据数据集
与…合作愉快数据集
最新发布的数据。
的数据集
格式:
使用MATLAB
timeseries
对象来存储日志数据,这允许您在MATLAB中使用日志数据,而无需Simulink许可证。金宝app例如,要操作记录的数据,可以使用MATLAB时间序列方法,例如过滤器
,去趋势
,重新取样
.金宝app支持记录给定时间步长的多个数据值,这对Iterator子系统和Stateflow很重要®日志记录的信号。
默认情况下,生成的数据集
对象使用变量名作为其名称。可以使用名称-值对指定数据集
的名字。
您可以使用金宝appSimulink.SimulationData.Dataset.concat
组合方法数据集
对象连接成一个数据集
对象。
转换结果
数据集
对象以元素的形式保存数据。的元素数据集
变量,在MATLAB命令提示符输入变量名。的元素数据集
对象的类型不同,取决于它们所存储的数据。例如,信号日志将数据存储为
元素和状态登录金宝appSimulink.SimulationData.Signal
数据集
格式将数据存储为
元素。每个元素以MATLAB时间序列对象的形式保存数据。在转换时,元素和时间序列字段尽可能从转换的对象中填充。金宝appSimulink.SimulationData.State
格式 | 转换结果说明 |
---|---|
MATLAB时间序列 |
如果记录非总线数据,在转换期间,软件首先将数据添加为 如果以时间序列格式记录总线数据,则一个时间序列对应于总线的每个元素。转换将记录的数据安排为一个结构,时间序列对象作为叶节点。此结构层次结构与总线层次结构相匹配。时间序列对象的这种类型结构的转换将整个结构添加到 时间序列对象保存相关信息,如块路径和时间戳。转换试图保存此信息。 |
结构和结构随时间而变化 |
结构和带有时间格式的结构并不总是包含像登录时那样多的信息 转换填充一个 当以结构格式记录范围数据时,记录的结构具有 |
数组 |
数组包含的信息很少。例如,没有块路径信息。 转换将数组添加到 |
|
转换数据 请注意的 |
数据集转换的限制
将日志数据转换为
数据集
格式将导致数据集
对象,该对象包含原始日志数据所包含的所有信息。但是,如果没有其他相应的信息数据集
属性,则转换使用该信息的默认值。要记录可变大小的信号,请使用到工作空间块。如果将记录在“到工作区”中的数据转换为
数据集
格式,则会丢失有关可变大小信号的信息。当您在具有时间格式的数组、结构或结构中记录总线信号时,记录的数据按以下方式组织:
包含总线中第一个信号的数据的第一列
第二列包含第二个总线信号的数据,以此类推
当您将数据转换为
数据集
,数据集
保持组织。但如果你把总线信号输入数据集
格式而不需要转换,转换将总线数据捕获为时间序列对象的结构。如果日志数据不包括时间向量,则将该数据转换为
数据集
,转换插入一个时间向量。每个数据值都有一个时间步长。然而,模拟的时间步长和数据集
时间步骤可以有所不同。数据集
格式忽略了帧信号的规范。结构或结构与时间数据的转换数据集
为记录的帧信号重塑数据。
另请参阅
金宝appSimulink.SimulationData.Dataset