4

我正在使用 MATLAB 来组织红外摄像机测量数据,并且我希望比现在更高效地工作。

红外热像仪的 SW 导出按列组织的数据

Some text
488.875 1300110589.875  2   14.3.2011 14:49:49.875  0   1
488.875 1300110590.156  2   14.3.2011 14:49:50.156  0   2
488.875 1300110590.671  2   14.3.2011 14:49:50.671  0   3
488.875 1300110590.953  2   14.3.2011 14:49:50.953  0   4
488.875 1300110591.234  2   14.3.2011 14:49:51.234  0   5

我可以手动加载它,我也可以使用load -ascii foo.bar,但第一种方式很长,因为无休止的点击,第二种方式很烦人,因为使用时load -ascii我必须删除第一行,其中包含“一些文本”。现在我必须编辑所有文件,加载它们,提取第一列并将它们合并到一个矩阵中。

所以我的问题是:是否有任何命令或命令例程可以导入此文件结构而无需对其进行编辑?我只想要第一列的数据(编辑一个文件不是浪费时间)

感谢您的任何建议。

4

1 回答 1

4

功能TEXTSCAN是要走的路。例如:

fid = fopen('foo.bar','r');
data = textscan(fid,'%f %*f %*d %*s %*s %*d %*d','HeaderLines',1);
fclose(fid);
data = data{1};  %# Remove cell array encapsulation

这将跳过文件中的一个标题行并忽略第 2 到第 7 列中的数据,仅返回 N×1 数组中第一列的数据data

于 2011-05-04T14:30:36.173 回答