可能之前已经回答过,但我还没有找到答案。我在MATLAB中运行一个代码,它给出了我作为输入放置的某个文件的幅度,我试图做的是运行我在文件夹中的所有文件的代码并为此创建一个幅度的数组每个文件,不幸的是问题似乎是fid,因为matlab说,对于fegtl,我必须使用一个合适的fid。以下是造成问题的代码部分:
D=dir('Datos/Banda V-variables/01');
for file=D' %//'
if file.bytes > 1
fid=fopen(file.name,'r');
i=1;
while 1
tline=fgetl(fid); %This is the line where the error appears
if ~ischar(tline), break, end
A{i}=tline;
i=i+1;
end
end
end
最后,我只是做了一些数据计算并给出了一个数字。每个文件的编号。由于显然这种方法不起作用,你建议什么?,以便将每个文件的振幅数组放入文件夹中。任何帮助将非常感谢。谢谢。
答案 0 :(得分:0)
您需要提供fopen
命令
fid = fopen( fullfile( 'Datos', 'Banda V-variables', '01', file.name ), 'r' );
最后不要忘记fclose(fid)
!
如果fopen
失败,您也可以尝试打印错误
[fid err] = fopen( fullfile( 'Datos', 'Banda V-variables', '01', file.name ), 'r' );
if ~isempty(err)
fprintf(2, 'Cannot open %s! Got error:\n%s\n', file.name, err );
end