2016-02-25 175 views
1

我正在做一个MATLAB程序(图像处理)。我在D盘(D:\ MATLAB-examples \ camera_10 \ out)中的一个名为'out'的文件夹中存储了几乎100个'.mat'文件。所有mat文件的名称都以'v_1 _....'开头。我想将'out'文件夹中的所有这些mat文件加载到单个名为'v'的2D矩阵中以进一步处理它。谁能给我一个解决方案?如何将mat文件加载到matlab矩阵中

+0

尽量适应[该解决方案(http://stackoverflow.com/a/31035962/2732801)您的需求。 – Daniel

回答

0

这应该工作:

indir='D:\MATLAB-examples\camera_10\out'; 
cd(indir) 

indirf=[indir,'v_1*.mat'] %look only for .mat files 
files = dir(indirf); 

for k=1:length(files) 

    fname=files(k).name; %filename 

    f=fullfile(indir,fname); %filename+path 
    load(f,'-mat') 
%do your stuff here 

end 
+2

使用'fullfile'连接文件路径。这样你避免重复或遗忘的文件分隔符(在这种情况下发生)'indirf = fullfile(indir,'v_1 * .mat')' – Daniel

+0

当我运行上面的代码时,我得到的输出为: - “indirf = D:\ MATLAB-examples \ camera_10 \ outv_1 * .mat“我怎样才能看到包含所有mat文件的单个矩阵。 – yok

+0

我不知道你的问题。但是文件是一个结构,特别是你可以查看files.names以查看文件名 – shamalaia

相关问题