使用Matlab从文件.txt导入坐标

时间:2016-07-15 16:27:53

标签: matlab

我需要用matlab绘制一些轨迹,我有一个文件中每个点的坐标.txt,我使用c ++我想用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

1 个答案:

答案 0 :(得分:2)

您可以使用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);