MATLAB Answers

Opening/loading multiple mat files?

9 views (last 30 days)
Ibro Tutic
Ibro Tutic on 22 Mar 2016
Commented: Ibro Tutic on 22 Mar 2016
I know how to open multiple mat files, using
filename = uigetfile('*.*', 'All Files (*.*)','MultiSelect','on');
But this returns a cell array with the file names that I selected. How would I access these files names for the information stored within them?

  0 Comments

Sign in to comment.

Answers (2)

Matthew Eicholtz
Matthew Eicholtz on 22 Mar 2016
load(filename{1}); %to load the contents of the first file
load(filename{2}); %to load the contents of the second file
...
%and so on

  4 Comments

Show 1 older comment
Matthew Eicholtz
Matthew Eicholtz on 22 Mar 2016
Yes, a for-loop can work well here. I was simply demonstrating the syntax of calling the load function.
Matthew Eicholtz
Matthew Eicholtz on 22 Mar 2016
One thing to be careful of, however, is if files have similar variables. For instance, if two files have the variable x, then after running the for-loop, you will only have the value(s) for x of the last file that was loaded. To combat this issue, consider using
data{n} = load(filename{n});
or something similar to store the data.
Ibro Tutic
Ibro Tutic on 22 Mar 2016
Perfect, I actually was trying to figure out how to combat that, thanks!.

Sign in to comment.


Image Analyst
Image Analyst on 22 Mar 2016
One of our most FA'ed FAQ questions. See the second code sample in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by