ONLY load matfiles that contain a variable
2 views (last 30 days)
Show older comments
Hi Guys,
I want to detect if a .mat file contains a variable before the script loads it. for the script that I am writing I only want one data set and there are 8297 files to check, so to save time and prevent crashes I only want to load faultsActiveList. However because there are not always faults active it is not always present.
DATA = load(MATfile,'faultsActiveList')
please bear in mind allthough I am the author of many of the scripts I use I do use some that others in my company wrote and they are p.coded so I cannot effect how the data comes to me.
Many Thanks James
0 Comments
Accepted Answer
Friedrich
on 22 Apr 2013
Edited: Friedrich
on 22 Apr 2013
Hi,
you can use whos to see if there are any variables in the mat file and which ones:
info = whos('-file','myfile.mat')
info will be a structure of size nx1 where n is the amount of variables in the matfile. In addition the field name will tell you the names of the variables in the mat file.
So you can do
info = whos('-file','myfile.mat')
if any(strcmp({info.name},'faultsActiveList'))
load('myfile.mat','faultsActiveList')
end
More Answers (1)
Walter Roberson
on 22 Apr 2013
if isempty(who('faultsActiveList', '-file', MATfile))
... not there ...
end
0 Comments
See Also
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!