我有一个包含5个不同文件夹的文件夹(每个文件夹有10个return redirect()->to('url');
文件),我想在MATLAB中加载或读取所有文件。你能给我一些提示或一些有用的信息我该怎么做?
每个.mat
文件包含30000x6矩阵,我还需要存储每个文件中的一个列向量,并将其保存在一个单独的矩阵中。
我需要这个PCA矩阵。
感谢任何帮助。
答案 0 :(得分:-1)
首先,您需要发现主文件夹中的文件夹(假设它名为main_folder
)。您可以使用dir
命令执行此操作,该命令返回具有以下几个有趣功能的结构:
dirContents = dir('main_folder')
输出
dirContents =
9x1 struct array with fields:
name
date
bytes
isdir
datenum
循环搜索结果,查找isdir
字段设置为1的条目(请注意.
和..
)。如果您还想在嵌套文件夹中搜索,请以递归方式应用此过程。
对于每个条目,获取具有所需扩展名的文件。您可以再次使用通配符dir
:
% Loop over the directories inside 'main_folder'
for indDir = 1:numel(dirContents)
thisEntry = dirContents{indDir};
if thisEntry.isdir
% If entry is a directory, search .mat files
matFilesInFolder = dir(['main_folder/',thisEntry.name,'/*.mat']);
% For each found .mat file, load contents
for indMat = 1:numel(matFilesInFolder)
thisMat = matFilesInFolder{indMat};
matContents = load(['main_folder/',thisEntry.name,'/',thisMat.name]);
% HERE DO WHATEVER YOU WANT WITH THE CONTENTS OF THE FILE
end
end
end
这是困难的部分。代码尚未经过测试,可能需要修复。
我不确定您需要对数据做什么。检查内容的加载方式并根据需要进行处理。