sunbojun0130 发表于 2010-5-31 18:19

regexp使用

我想要读取附件中文件,可以读,但结果不是想要的,希望各位指点。
程序实现目的:
文件第一列为帧序号,总的帧数应该是16,也就是说应该是0~15,文件中的数据是丢失了一部分信息后的结果,我想要把文件中第二列(除最后一行的)的数据全加起来,同时相应丢失的帧对应的值设为255,然后与之前算过的数据综合加到一起再除以16。
问题:
程序运行第一次时,结果正确,但是最后的结果总是把文件的最后一行也读了,我推测可能是regexp,可是我看了半天帮助和关于正则表达式的文档还是不明白,望各位指点迷津。
代码如下
%% 计算相应的质量损失(in MSE)
text_mse=fopen('MSE_Bus_loss.txt');
str=fgetl(text_mse);
i = 0;
frame_mse = zeros(16,1);
while (str~=-1)
addrFlag=regexp(str,'{1}\s\w{7}','match');
if isempty(addrFlag)~=0
ChxStr = str(3:9);
ChxStr = strrep(ChxStr, ',', '.');
frame_mse(i+1) = str2num(ChxStr);
str = fgetl(text_mse);
i=i+1;
end;
end;
fclose(text_mse)
MSEloss = sum(frame_mse)/16;
页: [1]
查看完整版本: regexp使用