使用文件夹中的所有文件运行我的代码

时间:2014-07-16 02:42:45

标签: matlab file loops directory

可能之前已经回答过,但我还没有找到答案。我在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

最后,我只是做了一些数据计算并给出了一个数字。每个文件的编号。由于显然这种方法不起作用,你建议什么?,以便将每个文件的振幅数组放入文件夹中。任何帮助将非常感谢。谢谢。

1 个答案:

答案 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