2013-11-27 27 views
0

我有一个带有.ptx后缀的基于文本的文件。它包含了点云信息,请参见下面的例子阅读基于文本的文件的一部分

100 
50 
0.352 -5.207 -0.823 0.238 61 61 61 
0.345 -5.202 -0.824 0.234 60 60 60 
... 

问:

我如何可以加载从第三行(忽略前两行)的文件,并保存为一个矩阵。

回答

2

我会推荐使用textscan

喜欢的东西:

in = textscan('sample.ptx','%f %f %f %f %f %f %f','HeaderLines',2) 

您可以指定若干标题行使用'HeaderLines'跳过。 %f是指输入数据的格式。希望有所帮助。

+0

很好的答案。 HeaderLines是一个很好的解决方案。我冒昧地设计你的答案 - 希望你不介意。另外,我建议使用''%f%f%f%f%d%d%d''作为格式说明符,因为最后三列似乎是整数而不是浮点数。 – chappjc

+0

@chappjc感谢您的帮助。你能否帮助我进一步。在'textscan'之后,我应该如何将文件保存/转换为矩阵 – SLN

0

下面是如何应用textscan和转换结果的矩阵一个完整的例子:

fid = fopen('textscantest.txt','r'); 
assert(fid~=1); % verify file is opened 
C = textscan(fid,'%f %f %f %f %f %f %f','HeaderLines',2); 
fclose(fid); 
M = [C{:}] 

注意,因为你想要的都在同一个矩阵,你需要相同的数据类型和所有每列需要%f