第一步:创建数据文件夹
在桌面创建一个名为《如何利用matlab循环读取文件夹中的文件》的文件夹,在再这个文件夹里面创建几个子文件夹,如下图所示;
第二步:在每个文件夹里面放好数据文件,我这里以.txt文件为列子。
具体的如下图所示:
对于上面的文件,为了能当输入文件的顺序时能读取文件中的数据,故编写了如下的代码:
clc
clear
close all;
%% 读取各个文件夹
%———注意修改文件的路径,将《C:\Users\pgl\Desktop\如何利用matlab循环读取文件夹中的文件》修改为自己的文件夹————%
filename1=ls('C:\Users\pgl\Desktop\如何利用matlab循环读取文件夹中的文件');%提取文件名,每次必须将文件名写入。
cd('C:\Users\pgl\Desktop\如何利用matlab循环读取文件夹中的文件')%跳转到要处理的数据所在文件夹
filename=cellstr(filename1); %把细胞数组转化为字符串
filename(1:2)=[]; %删除filename中的...文件名,不知道哪里来的
num=length(filename); %计算文件个数
%% 读取其中一个文件夹中的文件
fileth=1; %计算第几个文件夹的数据,fileth最大能选择num
%如果选择的文件数大于num,初始化为第一个
if fileth>num
fileth=1;
end
file_location=['C:\Users\pgl\Desktop\如何利用matlab循环读取文件夹中的文件','\',filename(fileth)];
C=cell2mat(file_location); %细胞数组转化为字符串
cd(C); %跳转到第fileth个文件夹
all_fileth_filename_char=ls(C);
all_fileth_filename=cellstr(all_fileth_filename_char); %把细胞数组转化为字符串
all_fileth_filename(1:2)=[];
num_file=length(all_fileth_filename);%计算文件夹中文件的个数
detail_file_name=1; %打算读取的文件序号
%防止因为输入而产生的错误
if detail_file_name>num_file
detail_file_name=1;
end
file_char=all_fileth_filename{detail_file_name};%提取文件的字符
data=load(file_char); %读取文件数据
方法二:如何快速读取文件夹里面的同一类型的文件
clc
clear
close all
location='如何利用matlab循环读取文件夹中的文件/';
temp1 = dir([location, '*.txt']);
cd('如何利用matlab循环读取文件夹中的文件')
N=length(temp1);
for i=1:N
data=load(temp1(i).name);
end
% 注意:将需要读取的文件夹放在和程序的同一文件夹内,