找回密码
 注册会员
查看: 1511|回复: 0

请教Matlab 读取txt 文件 读取矩阵问题?

[复制链接]
发表于 2009-11-27 11:33:21 | 显示全部楼层 |阅读模式
<p>请教Matlab 读取txt 文件 读取矩阵问题?</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:80 -</p>
<p>解决时间:2009-11-27 11:31</p>
<p>txt 文件格式是这样子的:</p>
<p>23 45 78 89 23</p>
<p>23 23 22 44 45</p>
<p>11 32 33 44 55</p>
<p>21 45 38 89 22</p>
<p>22 23 22 42 45</p>
<p>34 32 33 44 12</p>
<p>21 23 24 44 46</p>
<p>18 78 66 23 56</p>
<p>14 34 44 51 34</p>
<p>11 32 45 81 33</p>
<p>22 23 22 42 45</p>
<p>34 32 33 44 12</p>
<p>有很多组这样的数据  行数不固定 要求用 matlab 判断出每组的最后一个数字 第一组是 55 第二组是 46....判断 如果末尾数 大于 50 就把 组号记录下来  第一组就记录 1 第二组记录 2</p>
<p>提问者: sky_word - 三级</p>
<p>最佳答案</p>
<p>末尾数??</p>
<p>这个比较抽象。</p>
<p>按字面意思,弄了一个:</p>
<p>clear</p>
<p>fid=fopen(\'data.txt\',\'r\');</p>
<p>group50=[];  %大于50的组号</p>
<p>groupdata=[]; %每组的数据(只记录读取过程中的最后一组)</p>
<p>groupid=1;  %组号</p>
<p>while (~feof(fid))</p>
<p>linetext=fgetl(fid); %读取一行</p>
<p>if isempty(linetext)  %空行,意味着一组数的终止</p>
<p>groupLastData=dataline(end);  %上一行最后一个数据</p>
<p>if groupLastData>50</p>
<p>group50=[group50,groupid]; %记录这个组号</p>
<p>end</p>
<p>groupdata=[];  %新的组开始,清除group中的数据</p>
<p>groupid=groupid+1; %组号加一</p>
<p>continue;   %跳出本次循环,即直接读下一行</p>
<p>end</p>
<p>dataline=sscanf(linetext,\'%d\');  %将本行的字符串转成数组</p>
<p>end</p>
<p>fclose(fid);</p>
<p>group50</p>
<p>0</p>
<p>回答者:</p>
<p>wacs5 - 十四级   2009-11-25 22:50</p>
<p>我来评论>></p>
<p>提问者对于答案的评价:</p>
<p>非常感谢各位的回答,每个人回答的都很详细,但是分数只能给一个人</p>
<p>感谢huxuec感谢greatdju感谢wacs5</p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-5-20 04:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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