MATLAB: открытие и редактирование файлов, вложенных в папки в папках

Я работаю над проектом, в котором мне нужно вытащить файлы из этого обширного каталога со множеством вложенных папок.

Я полный новичок, когда дело доходит до использования Matlab и каталогов, и мне было интересно, может ли кто-нибудь помочь мне начать!

Я использовал mainFolder = dir (fullfile (uigetfile)), чтобы открыть исходный основной каталог, а затем захватывать другие папки, используя больше полных файлов и подстановочных знаков для вещей, которые они содержат. Я просто не знаю, сколько подпапок MATLAB откроет и позволит мне редактировать

Я написал на английском по сути то, что мне нужно для выполнения кода - я не жду, что кто-то напишет это за меня, просто дайте мне советы, как начать!

%function getvariables

%open mainFolder

%open "dates" %name of subfolder in mainFolder

%open "experiment" %name of subfolder in dates

%open "analysis" %name of subfolder in experiment

 if .mat filename includes the string pre
     % pull variables from the .mat file
     % figure out if it contains a certain string of numbers ex. 1234
 if .mat filename includes the string post
     % pull other variables from the .mat file
     % figure out if it contains a certain string of numbers ex. 1234
 else
     % pull other stuff
     % figure out if it contains a certain string of numbers ex. 1234
 end

%load .mat file with the same numbers ex. 1234.mat from ANOTHER folder

%add the variables I grabbed from the pre/post/else .mat files to the loaded 1234.mat file

%save the newly updated 1234.mat file

%run this for a hundred or so different files...

Спасибо,

ML


person user2463868    schedule 07.06.2013    source источник


Ответы (1)


Проверить subdir! При обмене файлами это потрясающая функция, которая может возвращать все папки и все файлы в обширных подпапках, и вы можете фильтровать имена файлов по расширению и так далее.

http://www.mathworks.com/matlabcentral/fileexchange/15859-subdir-a-recursive-file-search

person Shaun314    schedule 07.06.2013