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?

回答 (2 件)

Matthew Eicholtz
Matthew Eicholtz 2016 年 3 月 22 日

0 投票

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 件のコメント

Ibro Tutic
Ibro Tutic 2016 年 3 月 22 日
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 2016 年 3 月 22 日
Yes, a for-loop can work well here. I was simply demonstrating the syntax of calling the load function.
Matthew Eicholtz
Matthew Eicholtz 2016 年 3 月 22 日
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 2016 年 3 月 22 日
Perfect, I actually was trying to figure out how to combat that, thanks!.

サインインしてコメントする。

Image Analyst
Image Analyst 2016 年 3 月 22 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeStartup and Shutdown についてさらに検索

質問済み:

2016 年 3 月 22 日

コメント済み:

2016 年 3 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by