在具有非CSV数据的MATLAB中读取文件

时间:2013-02-08 12:24:26

标签: matlab file-io

通过串口,我在文本文件中获取X,Y和Z的数据,如下所示:

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

  

X = 195,Y = 207,Z = 247

依旧......

我想编写一个MATLAB脚本,用于将这些数据读入三个向量X,Y和Z. 对于CSV文件,类似的问题是here,但在我的情况下,数据不是以逗号分隔的。

我该怎么做?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

X = values(1)等等......