主要内容

读取多个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
Baidu
map