我需要用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
答案 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);