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
...
问:
我如何可以加载从第三行(忽略前两行)的文件,并保存为一个矩阵。
我有一个带有.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
...
问:
我如何可以加载从第三行(忽略前两行)的文件,并保存为一个矩阵。
我会推荐使用textscan
。
喜欢的东西:
in = textscan('sample.ptx','%f %f %f %f %f %f %f','HeaderLines',2)
您可以指定若干标题行使用'HeaderLines'
跳过。 %f
是指输入数据的格式。希望有所帮助。
下面是如何应用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
。
很好的答案。 HeaderLines是一个很好的解决方案。我冒昧地设计你的答案 - 希望你不介意。另外,我建议使用''%f%f%f%f%d%d%d''作为格式说明符,因为最后三列似乎是整数而不是浮点数。 – chappjc
@chappjc感谢您的帮助。你能否帮助我进一步。在'textscan'之后,我应该如何将文件保存/转换为矩阵 – SLN