如何连续读取多个文件
%文件名为规则的数字,239.txt~254.txtcd目标目录 %进入工作目录
for iii=239:254;
fid=fopen('iii.txt','rt'); %想实现循环读入文件
...................... %对单个文件的相关运算
end
fid返回-1,不知道回事,看了精华的相关文章也不太明白,请指点下
[ 本帖最后由 eight 于 2007-11-20 09:28 编辑 ] 试试fid=fopen(); 试了fid=fopen();
fid还是返回-1。。。 原帖由 xjimm 于 2007-11-20 09:19 发表 http://www.chinavib.com/forum/images/common/back.gif
试了fid=fopen();
fid还是返回-1。。。
文件路径问题,建议先看看精华帖中提到 for 新手 的帖子 问题已解决,谢谢
fid=fopen(strcat( num2str(iii),'.txt'),'rt'); 汗,又出现新的问题。。。。用for语句读入n个文件,对单个文件进行计算,然后在每次循环结束时以追加的形式写入一个(.dat)文件,但是整个循环结束后只写入了最后一个循环计算出的数据,原来手动该文件名的时候是追加写入的,不知道用循环为什么不能追加写入?
代码如下
clear all;
clc;
cdD:\ %数据文件目录
for iii=239:240;
fidin=fopen(strcat( num2str(iii),'.txt'),'rt');
fid=fopen('D:\P_vtec.dat','a+'); %打开要写入数据的文件
。。。。。。。。。 %对读入的单个文件(例如:239.txt)的操作
fprintf(fid,'%f %f\n',D_D); %把计算结果D_D写入文件P_vtec.dat'
fclose(fidin);
fclose(fid);
end
可是最后只显示最后一次循环的结果,挠头。。。 仔细检查后发现是结构中多了一个end,导致只计算最后一次循环 请安装 2006a 以上的 matlab 版本,以减少出错的几率 回复 5 # xjimm 的帖子
楼主,我按照你方法做的,不过我的事读dat文件,名字从00到23,按你说的加上strcat后fidin的返回值还是-1,求教~
页:
[1]