load only a few cells like {1,1} to {10,1} from info.mat file.

4 views (last 30 days)
my varaible named "info" is saved in info.mat file that contains 52x1 cells. Since it is too large in memory. I cannot load it altogether! and matlab thorws error.
So there any possible way that I can load only a few cells like {1,1} to {10,1} from info.mat file.

Answers (1)

Walter Roberson
Walter Roberson on 10 Apr 2019
Use a -v7.3 file, and use matfile() . You can index a single cell array level and assign it to a variable.
  3 Comments
Stephen23
Stephen23 on 10 Apr 2019
@Megha: did you read the matfile documentation? I do not see any examples in the documentation that look anything like the syntax that you just invented.
Walter Roberson
Walter Roberson on 12 Apr 2019
m = matfile('info.mat');
m1 = m.info{1,1};
Now you can index into m1, such as m1(:,3) . Because of limitations of matfile, it is not possible to directly index such as
m.info{1,1}(:,3) %not permitted for matfile

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!