how to select specific files
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Thank you for your time,this is a question from a Matlab beginer!
I have a folder(name Site) with two hundereds seventy one '.dat' files in it. They named as site●●▲▲.dat ●● starts from 01 up to 09 and ▲▲is from 01 upto 16. Now I need to select just sites with number 0901 to 0916.(i.e. site0901.dat site0902.dat ... site0916.dat) If i write
 idir = './Site/';
 Fault = [];
 files = dir([idir,'*09*.dat']);
I will get site0901.dat as well as site0109.dat
files = dir([idir,'09*.dat']);
wont extract any files.and
 files = dir([idir,'*.dat']);
give me all the 271 files.
would you please teach me how to do this.
2 comentarios
Respuestas (1)
  KSSV
      
      
 el 9 de Nov. de 2018
        YOu can read all the files using:
allfiles = dir('*.dat') ;  % all dat files info 
files = [allfiles.name] ;   % this gives only file names
From files, you can get the index of your required files like below:
   files = {'site01.dat','site02.dat','site03.dat','site04.dat','site05.dat','site06.dat','site07.dat','site08.dat'.....
            'site09.dat','site10.dat'} ;
    num = cellfun(@(x) x(5:end-4),files,'UniformOutput',false) ;
    num = cellfun(@str2num,num) ;
    idx = num >5 & num < 9 ;
    files(idx)
5 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


