主要内容

使用通过MDF MDF文件数据存储

这个例子展示了如何使用车辆网络工具箱的MDF数据存储特性快速高效地处理数据集分布在多个MDF文件的集合。此工作流也是宝贵的,当有太多的数据符合可用内存。

在一个数据存储访问MDF文件

找到MDF文件代表记录的收集信息从多个测试序列。注意,MDF文件供MDF数据存储作为一组必须有相同的通道组和频道内容结构。

dir (“文件* .mf4”)
File01。mf4 File02。mf4 File03。mf4 File04。mf4 File05.mf4

创建一个MDF数据存储

您通过选择一个文件夹创建一个MDF数据存储位置包含MDF文件的集合。在这种情况下,目标当前工作目录中的所有文件。

mds = mdfDatastore (pwd)
mds = MDFDatastore属性:文件:{“…\家庭\ jpyle \ \ MATLAB \ \ vnt-ex10761765 \ File01.mf4示例文档”;’……\ \ jpyle回家\ \ MATLAB \ \ vnt-ex10761765 \ File02.mf4示例文档”;“…\家庭\ jpyle \ \ MATLAB \ \ vnt-ex10761765 \ File03示例文档。mf4”……和2}ChannelGroups: ChannelGroupNumber AcquisitionName评论……和4个列_____________售予售予1”整数类型2”浮点类型的通道:ChannelGroupNumber ChannelName DisplayName……和9多列_____________ ____________________________________⒈1“Sigend_Int16_LE_Offset_32”“1 Unsigend_UInt32_LE_Master_Offset_0”2 Float_32_LE_Offset_64”…和1更行SelectedChannelNames: {“Sigend_Int16_LE_Offset_32”;“Unsigend_UInt32_LE_Master_Offset_0”} SelectedChannelGroupNumber: 1 ReadSize:“文件”

配置MDF数据存储

多个选项允许控制的数据读取的MDF文件和读取是如何执行的。在这种情况下,默认使用第一通道组。请注意,只能选择一个通道组的数据存储。您还可以指定某些渠道选择的通道组内阅读。在这种情况下,默认所有渠道都读。

mds。SelectedChannelGroupNumber mds.SelectedChannelNames
= 1岁= 2×1的字符串数组“Sigend_Int16_LE_Offset_32”“Unsigend_UInt32_LE_Master_Offset_0”

MDF数据存储预览

使用预览功能,您可以获得一个快速视图数据的文件集。总是返回8预览数据点的第一个文件数据存储。

预览(mds)
ans = 8×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 _____ _________________________ __________________________________ 0秒0 0 1秒1 1 2秒2 2 3秒3 3 4秒4 4 5秒5 5 6秒6 6 7秒7 7

使用MDF数据存储readall

您可以使用readall函数来读取数据在单个调用的全部内容。这是一个有效的方法从许多文件读取数据集符合可用内存。在运行readall,数据存储重置数据集的开始。

data = readall (mds);:数据(1:5)
ans = 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 _____ _________________________ __________________________________ 0秒0 0 1秒1 1 2秒2 2 3秒3 3 4秒4 4

使用MDF数据存储读取

您可以使用函数获取数据从文件。默认情况下,从MDF数据存储将读取整个文件读取的数据调用。数据存储的力量来自于阅读多个文件中的顺序文件集。当你阅读的时候,数据存储自动桥梁从一个文件到另一个,直到所有数据从文件读取。

2 = 1:3数据=阅读(mds);谁(“数据”)数据(1:5,:)结束
类属性名称大小字节数据241767 x2 10000时间表ans = 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 _____ _________________________ __________________________________ 0秒0 0 1秒1 1 2秒2 2 3秒3 3 4秒4 4名大小字节类属性数据241767 x2 10000时间表ans = 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 _____ _________________________ __________________________________ 0秒0 0 1秒1 1 2秒2 2 3秒3 3 4秒4 4名大小字节类属性数据241767 x2 10000时间表ans = 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 _____ _________________________ __________________________________ 0秒0 0 1秒1 1 2秒2 2 3秒3 3 4秒4 4

MDF数据存储重置

在任何时候,您可以调用重置函数开始一遍又一遍的数据集。

重置(mds)

配置MDF数据存储中读取的数据记录

您可以使用ReadSize属性来指定多少数据读取每个调用。ReadSize可以指定一个数值读取固定数量的数据点。ReadSize允许您控制多少数据加载到内存中,当你有一个数据集大于可用内存。我们建议使用自定义尺寸足够小,适合在内存中读取,但仍尽可能大的减少处理开销和提高性能。

mds。ReadSize = 52 = 1:3数据=阅读(mds)结束
mds = MDFDatastore属性:文件:{“…\家庭\ jpyle \ \ MATLAB \ \ vnt-ex10761765 \ File01.mf4示例文档”;’……\ \ jpyle回家\ \ MATLAB \ \ vnt-ex10761765 \ File02.mf4示例文档”;“…\家庭\ jpyle \ \ MATLAB \ \ vnt-ex10761765 \ File03示例文档。mf4”……和2}ChannelGroups: ChannelGroupNumber AcquisitionName评论……和4个列_____________售予售予1”整数类型2”浮点类型的通道:ChannelGroupNumber ChannelName DisplayName……和9多列_____________ ____________________________________⒈1“Sigend_Int16_LE_Offset_32”“1 Unsigend_UInt32_LE_Master_Offset_0”2 Float_32_LE_Offset_64”…和1更行SelectedChannelNames: {“Sigend_Int16_LE_Offset_32”;“Unsigend_UInt32_LE_Master_Offset_0”} SelectedChannelGroupNumber: 1 ReadSize: 5数据= 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 _____ _________________________ __________________________________ 0秒0 0 1秒1 1 2秒2 2 3秒3 3 4秒4 4数据= 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 _____ _________________________ __________________________________ 5秒5 5 6秒6 6 7秒7 7 8秒8 8 9秒9 9数据= 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 ______ _________________________ __________________________________ 10秒10 10 11秒11 11 12秒12 12 13秒13 13 14秒14 14

配置MDF数据存储读取数据的时间戳

您还可以指定ReadSize作为一个持续阅读时间点的数据。注意,当阅读类型改变,数据存储重置数据集的开始。

mds。ReadSize =秒(5)2 = 1:3数据=阅读(mds)结束
mds = MDFDatastore属性:文件:{“…\家庭\ jpyle \ \ MATLAB \ \ vnt-ex10761765 \ File01.mf4示例文档”;’……\ \ jpyle回家\ \ MATLAB \ \ vnt-ex10761765 \ File02.mf4示例文档”;“…\家庭\ jpyle \ \ MATLAB \ \ vnt-ex10761765 \ File03示例文档。mf4”……和2}ChannelGroups: ChannelGroupNumber AcquisitionName评论……和4个列_____________售予售予1”整数类型2”浮点类型的通道:ChannelGroupNumber ChannelName DisplayName……和9多列_____________ ____________________________________⒈1“Sigend_Int16_LE_Offset_32”“1 Unsigend_UInt32_LE_Master_Offset_0”2 Float_32_LE_Offset_64”…和1更行SelectedChannelNames: {“Sigend_Int16_LE_Offset_32”;“Unsigend_UInt32_LE_Master_Offset_0”} SelectedChannelGroupNumber: 1 ReadSize: 5秒数据= 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 _____ _________________________ __________________________________ 0秒0 0 1秒1 1 2秒2 2 3秒3 3 4秒4 4数据= 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 _____ _________________________ __________________________________ 5秒5 5 6秒6 6 7秒7 7 8秒8 8 9秒9 9数据= 5×2时间表时间Sigend_Int16_LE_Offset_32 Unsigend_UInt32_LE_Master_Offset_0 ______ _________________________ __________________________________ 10秒10 10 11秒11 11 12秒12 12 13秒13 13 14秒14 14