How can I iterate through a list of files using dlmread()?
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Haydn Darragh
 le 19 Août 2015
  
    
    
    
    
    Commenté : Haydn Darragh
 le 19 Août 2015
            Hello,
I am able to load all files and manually change the name of the files to access each on individually, however when I try to use a for loop that changes the name of the file in the form of a changing string, I get the error message below:
"Error using dlmread (line 119) The file 'file1' could not be opened because: No such file or directory
Error in EbnoVsRange (line 19) Zero(i) = dlmread(fname,',',[26 2 26 2]);"
This is after I have loaded the files in, one of which is called 'file1'
The code I'm using is below:
file1 = 'C:\Users\....\range1cm.csv';
file2 = 'C:\Users\....\range2cm.csv';
file3 = 'C:\Users\....\range3cm.csv';
file4 = 'C:\Users\....\range4cm.csv';
file5 = 'C:\Users\....\range5cm.csv';
for i = 1:1:10
    fname=['file',num2str(i)]
    Zero(i) = dlmread(fname,',',[26 2 26 2]);
end
Thank You
0 commentaires
Réponse acceptée
  David Legland
      
 le 19 Août 2015
        
      Modifié(e) : David Legland
      
 le 19 Août 2015
  
      Hi,
The problem comes from you ask Matlab to open the file called 'file1', not the file whose name is stored in the variable file1.
In your case you can use the 'eval' function:
fname = eval(['file' num2str(1)]);
However, I would rather build the file name programmatically:
inputDir = 'C:\Users\...'
fname = fullfile(inputDir, sprintf('range%dcm.csv', i));
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur File Operations dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

