读取多个tdms文件到MATLAB
这个例子展示了如何使用TDMS数据存储从多个TDMS文件读取数据到MATLAB®进行分析。
本例的多个tdms文件包含基于触发器的正弦波振幅和相位的测量数据。
同时读取多个tdms文件
的tdmsDatastore
函数创建一个数据存储对象,它允许您将文件夹中的所有tdms文件视为一个数据集。
folderName = fullfile (pwd,“触发”);ds = tdmsDatastore (folderName);
检查数据集中的所有通道。
ds。ChannelList
ans =2×8表数据类型NumSamples ChannelGroupNumber ChannelGroupName ChannelGroupDescription ChannelName ChannelDescription单元 __________________ ________________ _______________________ _________________ __________________ ____ ________ __________ 1“触发”“”“振幅扫“”“”“”“双500 1“触发”“扫”阶段“”“”“”“双500
数据存储中的所有tdms文件必须具有相同的通道组和通道。通道列表中的NumSamples是数据存储中的第一个文件。
的readall
函数从数据存储中检索所有数据到MATLAB中。读取和绘制来自第一个频道组的数据。
data = readall (ds);{1} stackedplot(数据)
单独读取数据存储tdms文件
您还可以一次分析一个文件中的数据存储。重新定义读取大小为的TDMS数据存储“文件”
.
ds = tdmsDatastore(folderName, readSize=“文件”);
遍历数据存储,从每个tdms文件读取数据。的读
函数使用设置的读取大小。中查找每个文件的最大值和最小值振幅扫
通道,并将其与累积最大值和最小值进行比较。
maxAmplitude = 0;minAmplitude = 0;而(hasdata(ds)) data = read(ds);max振幅= max(max振幅,max(数据{1}.)(“振幅扫描”)));min振幅= min(min振幅,min(数据{1}.)(“振幅扫描”)));结束
读取整个数据集后,查看累积最大和最小振幅。
maxAmplitude
maxAmplitude = 6.9998
minAmplitude
minAmplitude = -6.9982