用matlab读取txt文件数据

2019-07-17 13:25发布

我查到的资料都是可以读取行或列数据的函数,但是我想读取的是关于不知道有多少行,在若干位数据后会有一位校验位,然后处理这若干位数据,就类似于123456789123534649432436459······这样的,其中9相当于校验位,1、1、4;2、2、3···代表同样的意义。这样要怎么读啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
georgenwpu
2019-07-17 17:34
matlab可以创建文件指针,然后向C语言中的指针一样,读取数据。你可以设置成每次读取一个单位的数据,到校验位停止,完成校验和数据存储后,在进行下一个单位的数据的读取。
可以参考下边的一段代码:
fidin=fopen('test.txt');                               % 打开test2.txt文件            
fidout=fopen('mkmatlab.txt','w');                       % 创建MKMATLAB.txt文件
while ~feof(fidin)                                      % 判断是否为文件末尾               
    tline=fgetl(fidin);                                 % 从文件读行   
    if double(tline(1))>=48&&double(tline(1))<=57       % 判断首字符是否是数值
       fprintf(fidout,'%s ',tline);                  % 如果是数字行,把此行数据写入文件MKMATLAB.txt
       continue                                         % 如果是非数字继续下一次循环
    end
end
fclose(fidout);
MK=importdata('MKMATLAB.txt');      % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来 最佳答案

一周热门 更多>