2013-02-08 48 views
0

MATLAB通過串行端口,我在一個文本文件中獲取數據,X,Y和Z如下文件:閱讀中有非CSV數據

X195Y207Z247 
X195Y209Z248 
X193Y207Z248 
X195Y207Z248 
X194Y207Z235 
X193Y209Z248 
X193Y220Z247 
X193Y217Z237 
X193Y220Z248 
X193Y223Z248 
X193Y227Z238 
X193Y231Z248 

X = 195, Y = 207,Z = 247

等等...

我想編寫一個MATLAB腳本讀取這個數據我nto向量X,Y和Z.
對於CSV文件,類似的問題是here,但在我的情況下,數據不是逗號分隔的。

我該怎麼做?

回答

4

嘗試:

fid = fopen('data.dat','rt'); 
C = textscan(fid, '%*c %f %*c %f %*c %f', 'Delimiter','\n'); 
fclose(fid); 

[X,Y,Z] = deal(C{:}); 

結果:

>> [X Y Z] 
ans = 
    195 207 247 
    195 209 248 
    193 207 248 
    195 207 248 
    194 207 235 
    193 209 248 
    193 220 247 
    193 217 237 
    193 220 248 
    193 223 248 
    193 227 238 
    193 231 248 
+0

這個工作perefctly – gpuguy 2013-02-08 12:35:20

0
values = sscanf(str2,'%*c%f%*c%f%*c%f',[1 Inf]) 

X = values(1)等等...