2016-07-15 182 views
0

我需要用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 

回答

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); 
+0

,其只對第一線工作,爲第二行,他引進[] –

+1

@ all.west可以粘貼您的實際文件到您的問題(沒有評論)。也都是數字整數? – Suever

+0

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