从文件.txt导入坐标与Matlab

从文件.txt导入坐标与Matlab

问题描述:

我需要用matlab绘制一些轨迹,我有一个文件中的每个点的坐标.txt,我用C++工作我想用Matlab绘制这个轨迹进行一些比较,这是一个包含坐标的文件的例子:从文件.txt导入坐标与Matlab

515 // this is x 
317 // this is y 
0  // i dont want to import this variable 
511 // this is x 
328  // this is y 
20 // i dont want to import this variable 
508 
353 
40 
511 
... etc 

在Matlab中有一个函数可以帮助我只导入x和y吗?

文件:

172 
489 
54460 
283 
469 
54480 
388 
428 
54500 
476 
384 
54520 
555 
350 
54540 
635 
325 
54560 
700 
286 
54580 
760 
250 
54600 
811 
222 
54620 
840 
192 
54640 
856 
171 
54660 
871 
175 
54680 
890 
181 
54700 
930 
170 
54720 
979 
168 
54740 

可以使用textscan读取所有值,并通过简单的格式说明使用*忽略输出每三个值。

fid = fopen('filename.txt', 'r'); 

data = textscan(fid, '%d\n%d\n%*d\n'); 
[x,y] = data{:}; 

fclose(fid); 

另一种选择是在所有读取数据,然后重塑抢你所关心的部分。

fid = fopen('filename.txt', 'r'); 

data = textscan(fid, '%d'); 
data = reshape(data{1}, 3, []); 
x = data(1,:); 
y = data(2,:); 

fclose(fid); 
+0

,其只对第一线工作,为第二行,他引进[] –

+1

@ all.west可以粘贴您的实际文件到您的问题(没有评论)。也都是数字整数? – Suever

+0

完成了。是的,所有的数字都是整数。 –