【问题标题】:Reading file in MATLAB having non CSV Data在 MATLAB 中读取具有非 CSV 数据的文件
【发布时间】:2013-02-08 20:30:39
【问题描述】:

通过串行端口,我在文本文件中获取 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,但在我的情况下,数据不是逗号分隔的。

我该怎么做?

【问题讨论】:

    标签: matlab file-io


    【解决方案1】:

    试试:

    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
    

    【讨论】:

      【解决方案2】:
      values = sscanf(str2,'%*c%f%*c%f%*c%f',[1 Inf])
      

      X = values(1)等等……

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-04
        • 1970-01-01
        • 2013-10-31
        • 2016-08-28
        • 2017-05-15
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        相关资源
        最近更新 更多