Opening/loading multiple mat files?

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?

Antworten (2)

Matthew Eicholtz
Matthew Eicholtz am 22 Mär. 2016

0 Stimmen

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 Kommentare

Since the number of files is variable, would something like this work a little better?
for n=1:length(filename)
load(filename{n});
end
Matthew Eicholtz
Matthew Eicholtz am 22 Mär. 2016
Yes, a for-loop can work well here. I was simply demonstrating the syntax of calling the load function.
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 am 22 Mär. 2016
Perfect, I actually was trying to figure out how to combat that, thanks!.

Melden Sie sich an, um zu kommentieren.

Image Analyst
Image Analyst am 22 Mär. 2016

0 Stimmen

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

Kategorien

Mehr zu Startup and Shutdown finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 22 Mär. 2016

Kommentiert:

am 22 Mär. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by