Clear Filters
Clear Filters

Loading multiple *mat files

3 views (last 30 days)
Elizabeth Drybrugh
Elizabeth Drybrugh on 31 Jan 2018
Commented: Stephen23 on 31 Jan 2018
all_data =[];
files = dir('*.mat');
for q = 1:lenght(files)
load(files(q).name);
all_data = [all_data D.F];
end
This is my code now but get an error load(files(q).name); saying error in read files... New to matlab so apologise in advance for silly mistakes.

Accepted Answer

Stephen23
Stephen23 on 31 Jan 2018
Edited: Stephen23 on 31 Jan 2018
For a basic explanation see the MATLAB documentation:
If all of the .mat files contain the same variables then try something like this:
files = dir('*.mat');
out = load(files(1).name);
for k = 2:numel(files)
out(k) = load(files(k).name);
end
Your data is available in the non-scalar structure out, e.g.:
[out.F]
  1 Comment
Stephen23
Stephen23 on 31 Jan 2018
@Elizabeth Dryburgh: please show the complete error message. This means all of the red text.

Sign in to comment.

More Answers (0)

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!