How to load .mat data from another folder?
Show older comments
Hey,
I have several mat files located in a folder called "matFile". the script is located in the uperfolder of this matFile folder. I mean Folder1 incluses the script and matFile folder. Using following lines I try to access to the mat files. Each mat file is a 1-by-190 cell array
matpath = 'C\...\matFile';
matfiles = dir(fullfile(matpath ,'*'));
N1 = setdiff({matfiles.name},{'.','..'});
then N1 give me all the data in matFile folder, i.e.,
{'time1.mat'} {'time2.mat'} {'time3.mat'} {'time4.mat'}
{'location1.mat'} {'location2.mat'} {'location3.mat'} {'location4.mat'}
{'space1.mat'} {'space2.mat'} {'space3.mat'} {'space4.mat'}
However, when I call load(N1{1}) I got the error that this file is not in the directory. Any idea? Is there a way that I can load data in a for loop?
Thanks in advance!
Accepted Answer
More Answers (1)
Jeff Miller
on 17 Aug 2021
You need the folder name at the beginning of the string you pass to load, maybe something like this:
for iFile = 1:numel(N1)
s = [matpath '\' N1{iFile}];
load(s);
end
2 Comments
It is recommended to use FULLFILE:
F = fullfile(matpath,N1{iFile});
and to load into an output variable:
S = load(F);
Categories
Find more on Workspace Variables and MAT Files 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!