如果您在基于 unix 的系统(Linux/Mac)上,您可以直接使用系统命令来做您想做的事情。这是一个示例测试文件:
12345 accx accy accz gyrox gyroy gyroz magx magy magz
23456 accx accy accz gyrox gyroy gyroz magx magy magz
34567 accx accy accz gyrox gyroy gyroz magx magy magz
45678 accx accy accz gyrox gyroy gyroz magx magy magz
56789 accx accy accz gyrox gyroy gyroz magx magy magz
67890 accx accy accz gyrox gyroy gyroz magx magy magz
您可以在 unix 上使用该命令读取它tail
,并直接使用该system
命令将其读取到 MATLAB 中。
[~, str]=system('tail -n 2 filename')
str =
56789 accx accy accz gyrox gyroy gyroz magx magy magz
67890 accx accy accz gyrox gyroy gyroz magx magy magz
将2
in替换为-n 2
您想要阅读的行数。
接下来,为了确保您阅读的是同一行,您可能需要存储时间戳(第一列)。最简单的方法是再次让 unix 为你做这件事
[~, timestamp]=system('tail -n 2 filename | awk ''{print $1}''')
timestamp =
56789
67890
str2num
每次阅读时使用并存储这些数字将其转换为数字,然后使用该函数ismember
检查新时间戳是否已经是您先前读取的时间戳的一部分。