如何利用matlab循环读取文件夹中的文件

第一步:创建数据文件夹

在桌面创建一个名为《如何利用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
%  注意:将需要读取的文件夹放在和程序的同一文件夹内,

猜你喜欢

转载自blog.csdn.net/pgl512228/article/details/103606436