加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab 按行读取一个文件的用法

(2013-09-20 20:46:19)
标签:

matlab

按行读取

文件读写

教育

分类: 科研
txt文件如下,行数是我自己标的,%在txt里是顶格写的

1
2 %A
3 11.2 222.5 3000
4
5 %B
6 100 200 300
7
8
9 %C
10 4800000 500000 60000000


format long      %让matlab显示出很大的数比如 6000000000011.8,不会忽略掉11.2
fidin=fopen('123.txt');              %打开文件                                       
while ~feof(fidin)                   %判断是不是文件末尾                                      
   tline=fgetl(fidin);               %读取一行,注意,读文一行后,光标就会自动到下一行
   if isempty(tline)      %判断是不是空行
       continue
   end
   switch tline(2)      %对不是空行的判断这一行的第二个字符
       case 'A'      %如果是A的情况
           tline=fgetl(fidin);       %读取下一行的数据
           str=tline;      %先把这一行变为字符串
           sline=sscanf(str,'%f',3); %读取字符串中的数据,最多读3个,三个字符自动转为数字类型
           M=sline;                  %赋值给M
       case 'B'      %一下类似
           tline=fgetl(fidin);
           str=tline;
           sline=sscanf(str,'%f',3);
           M1=sline;
       otherwise
           tline=fgetl(fidin);
           str=tline;
           sline=sscanf(str,'%f',3);
           M2=sline;
   end
end
fclose(fidin);
a=M(1)+M2(3);
disp(a);

这里让11.2+60000000  结果是60000011.2

成功

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有