Accessing (loaded) Data, with a known variable Variable name. How do I avoid Eval?
Show older comments
Hello, I'm looking to avoid eval. There are loaded variables that I would like to analyze, I do not know the names of the variables being loaded. The names can be found, but here is the problem.
varloaded.data = rand(1,5); %loaded from MAT, see below
varnames = who('v*');
data = eval([varnames{1} '.data']); %how to avoid this?
plot(data)
Now about the loading, the 'varloaded' is from a siglog in simulink. So what I actually load is
S = load('myfile.mat','logsout')
S.logsout.unpack('all')
Due to the unpack, the variables are not loaded into 'S'. So alternatively, is there was a way to 'unpack' into a variable? This would allow me to use the usual variable fieldname method.
Matlab2007a, Simulink6.6
3 Comments
Albert Yam
on 15 Aug 2012
Walter Roberson
on 15 Aug 2012
I do not see any other obvious method, but perhaps looking at the code for the unpack method (if it is available) might suggest possibilities.
Albert Yam
on 15 Aug 2012
Accepted Answer
More Answers (0)
Categories
Find more on Simulink Environment Customization in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!