How to load .mat file which has a variable filename?

812 Views Asked by At
%select all .mat files

oar = dir('*oar.mat'); n = {oar.name};

%loop through files

for l=1:length(oar);

load pat_oar(l) %<---this is the .mat file with variable filename


clear ...

end

How do I write some Matlab script that will read in one .mat file after another...

2

There are 2 best solutions below

0
On BEST ANSWER

You file names are stored in n, so you should be able to do:

for l=1:length(oar)
    load(n{l})
end
0
On

Use the functional form. Instead of:

load pat_oar{I}

Use

load(pat_oar{I})

Calling a Matlab command using the unix-style syntax (i.e. command arg1 arg2) is just syntax shorthand for the more verbose syntax of command('arg1','arg2'). It's a pretty common trick to use the more verbose syntax anytime an argument is stored in a variable.