Select an unknown variable from .Mat file

3 views (last 30 days)
A .mat file has the variables
stateman
Name Size Bytes Class Attributes
val 1x1000 8000 double
Statefam
Name Size Bytes Class Attributes
statelab 1x16999 135992 double
ingrate 1x1 8 double
I want to automatically pick the variable with largest byte from a .mat file when selected by a user. Thank you guys
  2 Comments
Jan
Jan on 5 Feb 2018
I have edited the question to make it readable. See http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup. Didn't you see, that the missing format impedes the readability?

Sign in to comment.

Accepted Answer

Jan
Jan on 5 Feb 2018
matObj = matfile('YourFile.mat');
details = whos(matObj);
[maxBytes, index] = max([details.bytes]);
maxName = details(index).name;
Now explain what "pick the variable" means. Do you want to import this variable?
data = matObj.(maxName);
% Or
data = load('YourFile.mat', maxName)
  1 Comment
Paul Richardson
Paul Richardson on 26 Nov 2020
I had a similar question; this answer has helped a lot, so many thanks.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!