编写一个循环来改变MATLAB中的目录

时间:2015-06-05 22:04:40

标签: matlab loops directory

我正在开发一个程序,我在几个目录中按日期专门组织数据。我试图从每个单独的目录中提取数据而不覆盖任何东西,也不必编写目录(很长)31次(每月一次),所以我可以每月编译一次。是否可以为此编写for循环?如果是这样,最简单的方法是什么?谢谢!

例如:

我想离开:

dir\08JUN\2627N.mat  

dir\09JUN\2627N.mat  

等等。

1 个答案:

答案 0 :(得分:0)

您可以将dir函数与isdir选项一起使用,仅检索 dir 文件夹中的目录并循环浏览这些目录,读取2627N.mat文件

out = dir('dir'); % List of directories and files in your dir directory
isub = [out(:).isdir]; % Retrieving directories indexes
subdirectories = {out(isub).name}'; % Converting indexes into logical vector
subdirectories(ismember(subdirectories,{'.','..'})) = []; % Removing '.' and '..'

% Looping through DDMMM subdirectories
for nsub=1:numel(subdirectories)
    % Loading file into workspace
    load(fullfile(dir,subdirectories{nsub},'2627N.mat'));
end