0

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

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

IE

X=195, Y=207, Z=247

等等...

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

我该怎么做呢?

4

2 回答 2

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
于 2013-02-08T12:29:04.820 回答
0
values = sscanf(str2,'%*c%f%*c%f%*c%f',[1 Inf])

X = values(1)等等...

于 2013-02-08T12:30:30.307 回答