声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1086|回复: 0

[综合讨论] regexp使用

[复制链接]
发表于 2010-5-31 18:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

MSE_Bus_loss.txt

293 Bytes, 下载次数: 1

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-21 23:39 , Processed in 0.059569 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表