请教高手:用MATLAB读数据文件的程序,有问题,怎样改啊?
function x=readata(file1)%Read data from some file !
% data file's name.
c='d:\dat\'; %为数据文件的路径名
c(8:12)=file1;%为数据文件的文件名(注意长度)
c(13:16)='.fjd';%为数据文件的后缀名
fid=fopen(c,'r');
a=fscanf(fid,'%f %f\n');
fclose(fid);
for n=1:500
x(n)=a(2*n-1)+i*a(2*n);
end;
%这个文件运行时,出现错误,我无法通过它读文件,请高手指点,如何修改!先谢过了! 你最好能给出错误提示! 把file1给一下,同时如楼上,给一下错误信息
我要读的文件是后缀名为BIN 的文件1a0
输入x=readata('1a0.bin') 后,出现的错误如下:
??? In an assignmentA(:) = B, the number of elements in A and B
must be the same.
Error in ==> readata at 5
c(8:12)=file1;%为数据文件的文件名(注意长度)
忘记说明了,这个源程序是我按照书上写的
M文件就无法通过编译,错误如下:Error in ==> readata at 5
c(8:12)=file1;%为数据文件的文件名(注意长度)
请高手帮忙支招了 原帖由 houxiuli_802 于 2006-11-9 16:24 发表
输入
x=readata('1a0.bin') 后,出现的错误如下:
??? In an assignmentA(:) = B, the number of elements in A and B
must be the same.
Error in ==> readata at 5
c(8:12)=file1;%为数据文件的文件 ...
c(8:12)这是5个字符,1a0只是三个字符
修改一下
c(8:10)=file1;%为数据文件的文件名(注意长度)
c(11:14)='.fjd';%为数据文件的后缀名
楼上好,我按你说的改了之后还是不行啊!怎么办?
首先,我把原来的c(8:12)=file1改为c(8:10)=file1 ;把 c(13:16)='.fjd'改为c(11:13)=file1;
即满足了我要读的文件的 文件名和后缀名长度,可是调用x=readata('1a0.bin') 后,出现的错误还是和以前一样:
??? In an assignmentA(:) = B, the number of elements in A and B
must be the same.
Error in ==> readata at 5
c(8:10)=file1;%为数据文件的文件名(注意长度)
然后,我又把程序复原,尝试了打开text2.txt 文本文件。输入以下命令,结果显示的错误如下:
x=readata('text2.txt');
??? In an assignmentA(:) = B, the number of elements in A and B
must be the same.
Error in ==> readata at 5
c(8:12)=file1;%为数据文件的文件名(注意长度)
到底是什么问题呢?大家帮忙想想办法啊! 原帖由 houxiuli_802 于 2006-11-13 20:35 发表
首先,我把原来的c(8:12)=file1改为c(8:10)=file1 ;
把 c(13:16)='.fjd'改为c(11:13)=file1;
即满足了我要读的文件的 文件名和后缀名长度,可是调用x=readata('1a0.bin') 后, ...
c = ['d:\dat\', file1,'.fjd']
呵呵这么多人回答这个问题啊,怎么不会使用help呢
eight的意思是?
是我文件存放路径不对吗? 我把要读的文件,存放到d:\dat目录下,可仍是读不出来啊?错误和原来一样。帮助里也没有关于读这种文件的信息啊,我只好求助于热心的版友了。 原帖由 houxiuli_802 于 2006-11-14 15:27 发表是我文件存放路径不对吗? 我把要读的文件,存放到d:\dat目录下,可仍是读不出来啊?错误和原来一样。帮助里也没有关于读这种文件的信息啊,我只好求助于热心的版友了。
你要读的文件是1a0.bin,那为何要加上.fjd后缀名?
建议在readdata函数中,把第一到第三句删除,即修改后的readdata函数第一句是fopen那句。然后在命令窗口用readdata('d:\dat\1a0.bin')
页:
[1]