попробуйте эту функцию - это l oop по всем подпапкам, найдите и загрузите файлы .mat и загрузите их в структуру, которая организует каждую папку и имена файлов как подполя.
function data=loadmatfromdir(rootdir)
fd=dir(rootdir);
data=struct();
for i=1:length(fd)
fname=[fd(i).folder filesep fd(i).name];
if(fd(i).isdir && isempty(regexp(fd(i).name,'^\.{1,2}$', 'once')))
data.(genvarname(fd(i).name))=loadmatfromdir(fname);
elseif(regexp(fd(i).name,'\.[Mm][Aa][Tt]'))
data.(genvarname(fd(i).name))=load(fname);
end
end
, если вы иметь определенную переменную для загрузки из файла .mat вместо всех переменных, измените load (..), чтобы добавить имя переменной - например, вызовите load(fname,'signal')
, чтобы загрузить только переменную сигнала; если есть определенные c шаблоны имен файлов, которые вы хотите сопоставить, измените вызов regexp внизу. в настоящее время он соответствует всем файлам .mat.