MATLAB 循环读取处理文件夹里的所有文件

MATLAB循环处理一个文件夹内的同种文件并进行处理的方法。

Files = dir(fullfile('D:\Documents\*.mat')); % 读取文件夹内的mat格式的文件
LengthFiles = length(Files); %所有文件的数量

得到Files是一个struct变量,格式如下图,第一列为文件名,第二列为文件夹名,都是字符变量,可以直接用于文件读取。
MATLAB 循环读取处理文件夹里的所有文件_第1张图片
读取文件后循环调用方法如下

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

你可能感兴趣的:(MATLAB,matlab)