Select an unknown variable from .Mat file

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

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

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

I had a similar question; this answer has helped a lot, so many thanks.

Sign in to comment.

More Answers (0)

Asked:

on 5 Feb 2018

Commented:

on 26 Nov 2020

Community Treasure Hunt

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

Start Hunting!