我有大量的大型数据文件。我希望能够对每个文件中的数据进行分类,然后将文件名保存到一个元胞数组中,这样最后我将为每个数据类别拥有一个文件名元胞数组,然后我可以保存到一个mat
文件,以便我稍后可以回来对每个类别进行分析。它可能看起来像这样:
MatObj = matfile('listOfCategorizedFilenames.mat');
MatObj.boring = {};
MatObj.interesting = {};
files = dir(directory);
K = numel(files);
for k=1:K
load(files(k).name,'data')
metric = testfunction(data)
if metric < threshold
MatObj.boring{end+1} = files(k).name;
else
MatObj.interesting{end+1} = files(k).name;
end
end
因为文件列表很长,而且testfunction
可能很慢,所以我想将其设置为在夜间或周末无人值守运行(这是一个精简版,metric
可能会返回几个不同类别之一),以防万一崩溃或不可预见的错误,我想即时保存数据,而不是在内存中填充单元阵列并在最后转储到磁盘。
问题是 usingmatfile
不允许单元格索引,因此保存步骤会引发错误。我的问题是,是否有解决此限制的方法?有没有更好的方法将文件名增量写入以后易于检索的列表?