如何在matlab里用循环读取多个文本文档里的数据?

RT~~~我使用的是textscan代码如下forj=1:M;fori=1:N;fid=fopen([int2str(j)'-'int2str(i)],'r');[A,B... RT~~~ 我使用的是textscan 代码如下

for j=1:M;

for i=1:N;

fid=fopen([int2str(j) '-' int2str(i)],'r');

[A,B]=textscan(fid,'%d %d'); x1=[A,B];

set(handles.text1,'string',x1); fclose(fid);

end

end

但它总是显示

Error using ==> textscan

Invalid file identifier. Use fopen to generate a valid file identifier.

Error in ==> test>gather_Callback at 101 [A,B]=textscan(fid,'%d %d');

有什么解决方案吗?难道不能用textscan吗?求大大们指点。小弟先谢过了!!!!!!!!!!!!!!
展开
 我来答
tn瓶邪
推荐于2016-08-13 · TA获得超过1881个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:112万
展开全部
办法是把这些文件的文件名按一定的规律命名,假如有一百个数据文件,则可以把这些文件分别命名为:filename1.txt,filename2.txt,fielname100.txt,在读取的时候则可以使用循环:
for i = 1:100
fileName = ['filename' num2str(i) '.txt'];
x = load(filiName);
end
hoverstar
推荐于2017-11-24 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:109
采纳率:100%
帮助的人:101万
展开全部
提示Invalid file identifier. Use fopen to generate a valid file identifier.指出是前面fid=fopen([int2str(j) '-' int2str(i)],'r'); 出错了,你每次输出下[int2str(j) '-' int2str(i)]代表的文件名,然后到当前目录下看看有没有对应的文件。
更多追问追答
追问
是有的。[int2str(j) '-' int2str(i)]能出来1-1,1-2等。我怀疑是不是扩展名的问题
追答
必然啊,文件扩展名(如果有的话)肯定也要加到代码里面
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guanfenandyang
2011-05-03 · 超过12用户采纳过TA的回答
知道答主
回答量:63
采纳率:100%
帮助的人:39.8万
展开全部
[A,B]=textscan(fid,'%d %d'); x1=[A,B];
不知道这个程序哪里错了 ,但是这里的x1=[A,B]; 有问题,失去了读不同数据的意义,一直是后面的数据覆盖前面的,
追问
这个不是重点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式