luweiping26 发表于 2008-10-12 15:16

读取文件出现错误

读取文件出现错误
%打开训练样本数据
frin_para=fopen(sprintf('input_para%s%s',ModelNo,'.txt'),'r');
frout_para=fopen(sprintf('output_para%s%s',ModelNo,'.txt'),'r');
%读取样本数据
=fscanf(frin_para,'%f',);
=fscanf(frout_para,'%f',);
这两行出错,出错信息为:
?? Error using ==> fscanf
Invalid fid.
Error in ==> E:\LmTrain.m
On line 71==> =fscanf(frin_para,'%f',);
请问这怎么错了?

ChaChing 发表于 2008-10-12 21:54

回复 楼主 luweiping26 的帖子

楼主给的讯息可能不够, 但猜测不是fscanf出错, 而是fopen出错
请检查frin_para及frout_para的值是否为-1
若是的话, 试试以下fopen方式
frin_para=fopen(sprintf('input_para%s%s',num2str(ModelNo),'.txt'),'r');
frout_para=fopen(sprintf('output_para%s%s',num2str(ModelNo),'.txt'),'r');

luweiping26 发表于 2008-10-13 15:22

回复 沙发 ChaChing 的帖子

谢谢你的回复!
不过frin_para及frout_para的值是-1,
frin_para=fopen(sprintf('input_para%s%s',num2str(ModelNo),'.txt'),'r');
frout_para=fopen(sprintf('output_para%s%s',num2str(ModelNo),'.txt'),'r');
这样仍是一样的错误提示。
请问一下,打开与读取文件与数据类型是不是有关,我的数据全是下列形式:
0.1603        0.5644        0.2315        0.7137        0.0118        0.0418        0.2145        0.2117
每行有8个数据,有很多行

sogooda 发表于 2008-10-13 15:40

回复 板凳 luweiping26 的帖子

fid=-1说明文件没有正确打开。
请检查sprintf(...)的输出结果是否正确(是否可与你的文件名对应)。

ChaChing 发表于 2008-10-13 17:47

回复 板凳 luweiping26 的帖子

fid=-1表示fopen时可能找不到档案
建议楼主检查档名及path对吗? 档名是input_para1.txt吗?
建议执行sprintf('input_para%s%s',num2str(ModelNo),'.txt')
结果是你要的档名吗?

luweiping26 发表于 2008-10-13 20:41

回复 5楼 ChaChing 的帖子

执行sprintf('input_para%s%s',num2str(ModelNo),'.txt')之后

ans =

input_para-1.txt
而我的文件名为input_para.txt,这是为什么啊?

luweiping26 发表于 2008-10-13 21:08

文件放在e盘下,如果这样写
frin_para=fopen('e:\input_para.txt','r')
frout_para=fopen('e:\output_para.txt','r')
结果是
frin_para =

   3
frout_para =

   4
这是怎么回事呢?

ChaChing 发表于 2008-10-13 23:39

回复 7楼 luweiping26 的帖子

打开(fopen)与数据类型无关, 仅与路径有关
若fopen没成功, 其fid就会被设为-1, fid不等於1就对了

还有ModelNo到底是什麽? ModelNo=-1?
本以为你是用ModelNo来控制档案名称, 也就是说由它控制要读input_para1.txt或input_para2.txt或input_para3.txt ...
若不是, 直接给定就好了, 当然路径也要给定

[ 本帖最后由 ChaChing 于 2008-10-13 23:53 编辑 ]

luweiping26 发表于 2008-10-14 10:56

回复 8楼 ChaChing 的帖子

谢谢你啊,现在已经解决这个问题了。:@)
页: [1]
查看完整版本: 读取文件出现错误