У меня есть функция в matlab (с оберткой, которая фактически вызывает функцию), которая рекурсивно находит все файлы .mat на данном жестком диске на компьютере. При каждом возврате он предоставляет файлы, присутствующие в определенной папке, так что, поскольку у вас сотни папок на диске (организовано по дате), есть сотни возвратов.Список возвращаемых возвратов функции в Matlab
Я пытаюсь сделать один список (или матрицу) этих файлов, чтобы другой скрипт мог использовать этот список для выполнения его работы.
Фактический доход - это список структур (с полями, содержащими информацию о файле). Возврат всегда один и длина в зависимости от количества файлов в папке.
Короче говоря, я хотел бы знать, как взять все возвраты рекурсивной функции и поместить их в один список/матрицу.
Любые советы будут оценены! Спасибо
function direc = findDir(currentDir)
dirList = dir(currentDir);
if 2 == length(dirList)
direc = currentDir
files = dir([currentDir '*.mat'])
return
end
dirList = dirList(3:length(dirList));
fileListA = dir([currentDir '*.mat']);
if 0==isempty(fileListA)
direc = currentDir
files = dir([currentDir '*.mat'])
return
end
for i=1:length(dirList)
if dirList(i).isdir == 1
[currentDir dirList(i).name '\'];
findDir([currentDir dirList(i).name '\']);
end
end
end
Просьба уточнить, в чем ваш вопрос, и опубликовать соответствующий код, который вы используете. Для этого измените ваш вопрос –
Спасибо, я новичок в этом. – jdrudds
Возможно, вы ищете что-то вроде [этого] (http://stackoverflow.com/a/2654459/1586200). Его можно легко изменить для определенного типа файла, в вашем случае '.mat'. –