Why does dir('*.mat') not list all of the .mat files in directory?
Mostrar comentarios más antiguos
Hello,
I'm trying to create a structure file which lists all of the .mat files in my directory:
files = dir('*.mat')
This code returns a 4x1 structure, but I have 8 .mat files in the directory. All 8 of the .mat files are the same format (i.e. 3 variables per .mat file). Can anyone tell me why my other .mat files are not being listed in the struct file?
Thanks, Dan
Respuesta aceptada
Más respuestas (1)
Azzi Abdelmalek
el 21 de Ag. de 2012
Editada: Azzi Abdelmalek
el 1 de Sept. de 2012
try this
d=dir
d1=struct2cell(d);
d2=d1(1,:);
d3=cellfun(@(x) regexp(x,'.mat'),d2,'uni',false)
d4=find(~cellfun('isempty', d3))
files=d2(d4)'
3 comentarios
Dan
el 21 de Ag. de 2012
Jan
el 22 de Ag. de 2012
~cellfun('isempty', d3) is faster than ~cellfun(@isempty, d3), which is faster than cellfun(@(x) ~isempty(x)).
Azzi Abdelmalek
el 1 de Sept. de 2012
thanks Simon, did'nt read your comment until now.
Categorías
Más información sobre File Operations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!