MATLAB Answers

matfile and half inefficient storage

142 views (last 30 days)
Mika on 24 Jul 2021
Commented: S Priyadharshini on 30 Aug 2021 at 3:56
Dear MATLAB users,
I have encountered the following inefficient storage problem:
handle = matfile('myfile.mat')
handle.X = half(X); % X is big
handle.Y = half(Y); % Y is big
handle.a = a;
handle.b = b;
%%% the size of myfile.mat is 2.4Gb %%%
data = load('myfile');
save('mynewfile1.mat', '-v7.3', '-struct', 'data')
%%% the size of mynewfile1.mat is 1.2Gb %%%
data = load('myfile');
save('mynewfile2.mat', '-struct', 'data')
%%% the size of mynewfile2.mat is 1.2Gb %%%
What could be causing this doubling of storage and how can I avoid it without loading and resaving the file.
Update: the problem does not seem to be caused by the -v7.3 flag. I updated the code above to show this.
Thank you for your help.
S Priyadharshini
S Priyadharshini on 30 Aug 2021 at 3:56
Myfile and mynewfile2.mat

Sign in to comment.

Answers (0)




Community Treasure Hunt

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

Start Hunting!