how can I select .mat file to load from part of the name?
    10 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Pasquale
 il 20 Mar 2019
  
    
    
    
    
    Commentato: Pasquale
 il 21 Mar 2019
            I need to load the following files one by one, using a for loop, because at each iteration I have to do some calculation with the variables of these files:
110-1-D2-6-sum.mat
110-1-D3-7-sum.mat
110-1-E0-8-sum.mat
110-1-E0-12-sum.mat
 How can I do this? The problem is that the name changes not only in the last number, but also in the letters. I would load them using part of the name (D2-6; D3-7....) 
0 Commenti
Risposta accettata
  Walter Roberson
      
      
 il 20 Mar 2019
        projectdir = pwd;    %or appropriate directory name
looking_for = 'D2-6';
dinfo = dir( fullfile(projectdir, ['*' looking_for '*.mat']) );
filenames = fullfile(projectdir, {dinfo.name});
num_files = length(filenames);
results = cell(num_files, 1);
for K = 1 : num_files
    this_file = filenames{K};
    results{K} = Process_a_file(this_file);
end
4 Commenti
  Walter Roberson
      
      
 il 21 Mar 2019
				Process_a_file would be a function that you would provide that would accept the file name and do whatever was appropriate with it. That would probably include load()
datastruct = load(filename);  %returns a structure of all of the variables contained
var1 = datastruct.var1;       %extract a particular one into a more convenient form
Più risposte (1)
  Pasquale
 il 20 Mar 2019
        3 Commenti
  Walter Roberson
      
      
 il 20 Mar 2019
				The code I posted does load one by one. It loops through all of the file names that match the looking_for and processes them one at a time. Your sample display only happens to show one file for each particular combination of letter-number-dash-number and if that holds true then it would only match one file, but I wrote the code with the assumption that several might match.
The code above is not designed to look for multiple substrings; it would have to be modified for that.
Vedere anche
Categorie
				Scopri di più su File Operations in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

