How to load files identified by the matlab function of "dir"?
Ältere Kommentare anzeigen
I have many files in a folder named "mat_files". What I want to do is to load the files and get their values. Below is my code:
a = dir('mat_files');
for i = 3:length(a);
filename = a(i).name;
load strcat('mat_files/', filename);
end;
This is the error:
Error using load
Unable to read file 'filename': no such file or directory.
When I type a(3).name in the command window, I get the correct filename of "ex0219.mat". Of course, I can load the data by typing "load ex0219.mat". Clearly load a(3).name does not work. I also tried load (a(3).name), which does not work either.
3 Kommentare
You should give full path in dir if the MATLAB current folder is not same as the folder you want to access and also specify which file types you want to read (See my anwser below) otherwise MATLAB will read file information for all files in that folder and will be difficult for you to read/load few required files later on
sixwwwwww
am 8 Dez. 2013
rewrite it like this:
load(strcat('mat_files/', filename));
Akzeptierte Antwort
Weitere Antworten (1)
you should read files like this:
directoryString = 'YourDirectory';
files = dir(strcat(directoryString,'*.mat'));
names = {files.name}
I hope it helps. Good luck!
8 Kommentare
sixwwwwww
am 8 Dez. 2013
you can do it as follow:
for i = 1:length(names)
load(strcat(directoryString, names{i}))
end
Is it working now?
sixwwwwww
am 8 Dez. 2013
what you get by following command:
class(filename)
sixwwwwww
am 8 Dez. 2013
that's the problem. It should be 'char' type. Can you check what is within filename. Try
filename{1} and what you get?
sixwwwwww
am 8 Dez. 2013
you are wlecome
Kategorien
Mehr zu File Operations finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!