2011-05-04 79 views
4

我正在使用MATLAB来组织IR相机测量数据,我希望比现在更有效率地工作。从文件导入数据的命令

的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时,因为第二个是annoyg我必须删除其中的“一些文本”的第一行。 现在,我必须编辑所有文件,加载它们,提取第一列并将它们合并到一个矩阵中。

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

感谢您的任何建议。

回答

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在只返回该数据。

+0

感谢您的快速和完美的答案! – Crowley 2011-05-04 14:56:06