Why does dir('*.mat') not list all of the .mat files in directory?
2 visualizaciones (últimos 30 días)
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
0 comentarios
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
Jan
el 22 de Ag. de 2012
~cellfun('isempty', d3) is faster than ~cellfun(@isempty, d3), which is faster than cellfun(@(x) ~isempty(x)).
Ver también
Categorías
Más información sobre File Operations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!