How to load different data files in a for loop
17 views (last 30 days)
Show older comments
Yvonne Visser
on 16 Feb 2015
Commented: Yvonne Visser
on 19 Feb 2015
I am trying to do an analysis on 6 different sets of data with the names log_1 - log_6. I put the analysis in a for loop but can't get MATLAB to load the next file for each iteration. Basically, this is what I want to do:
for n=1:6
load log_n.mat
*rest of analysis*
*calculation* = newvariable(n)
end
to create an array called newvariable with the outcome for each set of data in it. But MATLAB gives the following error:
Error using ==> load
Unable to read file log_n.mat: No such file or directory.
which makes sense because log_n doesn't exist.
How do I load the different files in the for loop so the analysis will be done on the right data?
Accepted Answer
Jos (10584)
on 16 Feb 2015
for n=1:6,
filename = sprintf('log_%d.mat',n)
S = load(filename)
% S is a structure with the variables inside the mat file as its fields.
% If you expect a variable called V, you can check this using ISFIELD
if isfield(S,V)
% ...
else
disp(['The file "' filename '" did not contain the variable "' V '"']) ;
end
end
More Answers (0)
See Also
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!