MATLAB: Variable in a string name

accessing filesfopenpathreading from filevariablevariables in string

I am reading columns of binary files to plot. I have all my files in one folder and I want to plot them and pull out certain data. How can I set up a loop that will go through all the files?
My idea so far:
1) Use D= dir('W:\Folder')
to retrieve the names of all the files
2) for i= 1:70
str = ('W:\Folder\D(i)\Data')
fid = fopen(str);
How can I insert the different names in the array D from step 1?
I tried sprintf but I believe there is a problem because it's a path.
Thank you for your help

Best Answer

Andrew - try using fullfile instead
foldername = 'W:\folder';
files = dir(foldername);
for k=1:length(files)
% ignore directories
if ~files(k).isdir
% build the file name
filename = fullfile(foldername,files(k).name);
% open the file
fid = fopen(filename);
if fid>0
% do stuff with file contents
% close the file
fclose(fid);
end
end
end
You can use sprintf as well (something like str = sprintf('W:\folder\%s\,files(k).name)' but the above should work just as well.