MATLAB循环处理一个文件夹内的同种文件并进行处理的方法。
Files = dir(fullfile('D:\Documents\*.mat')); % 读取文件夹内的mat格式的文件
LengthFiles = length(Files); %所有文件的数量
得到Files是一个struct变量,格式如下图,第一列为文件名,第二列为文件夹名,都是字符变量,可以直接用于文件读取。
读取文件后循环调用方法如下
Files = dir(fullfile('D:\Documents\*.mat'));
LengthFiles = length(Files);
for i=1:LengthFiles
name=Files(i).name; %读取struct变量的格式
folder=Files(i).folder;
importfile([folder,'\',name]); %导入文件
% 处理代码
end
function importfile(fileToRead1)
% IMPORTFILE(FILETOREAD1)
% 从指定文件中导入数据
% FILETOREAD1: 要读取的文件
% 导入文件
newData1 = load('-mat', fileToRead1);
% 在基础工作区中从这些字段创建新变量。
vars = fieldnames(newData1);
for i = 1:length(vars)
assignin('base', vars{i}, newData1.(vars{i}));
end
end