|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我想要读取附件中文件,可以读,但结果不是想要的,希望各位指点。
程序实现目的:
文件第一列为帧序号,总的帧数应该是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;
复制代码 |
|