为什么我需要更改MATLAB路径才能读取文件?

时间:2014-05-19 19:22:46

标签: matlab

我正在从文件夹中读取50个文件,如下所示:

list_of_files=dir(fullfile('/home/user/Desktop/MTP/schemes/o33smnpimp/data/', '*.dat'));

我的问题是直到&除非我在MATLAB路径中打开了与路径相同的精确文件夹(路径窗口之上的路径),否则此命令将不起作用。这背后的原因是什么?实际上有多种方案,每次我需要运行一个特定的方案时,我必须转到该特定方案的数据文件夹。怎么解决?

1 个答案:

答案 0 :(得分:4)

问题是您可以像使用完整路径一样获取文件列表,但是在使用它时还需要指定完整路径。例如,尝试将代码更改为:

baseDir = '/home/user/Desktop/MTP/schemes/o33smnpimp/data/'; % <--- will use this twice
list_of_files=dir(fullfile(baseDir, '*.dat'));

for ind = 1:length(list_of_files)
    myFilenameFull = fullfile(baseDir, list_of_files(ind).name);  % <---- must use fullfile here too!
    D1 = getData(myFilenameFull, 'stuff');
end