How to save variable as binary file?

I have a variable dimension double in workspace.This contains 4 individual physiological data in 4 rows. I want to save this variable with lowest possible size in the current folder. If I am not wrong the file format should be binary. How do I save this variable in current folder as a .bin file sothat later I can load it and work with it?

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 30 Sep 2020

2 votes

Save in a .mat file(); you will get much better compression: https://www.mathworks.com/help/matlab/import_export/mat-file-versions.html. In the bin file, each double number will take a full 8 bytes.

5 commentaires

Jhon Gray
Jhon Gray le 30 Sep 2020
Modifié(e) : Jhon Gray le 30 Sep 2020
okay. Thanks a lot
Jhon Gray
Jhon Gray le 30 Sep 2020
Modifié(e) : Jhon Gray le 30 Sep 2020
However, I want to check how much the bin file take. Can you please help me with the code. I have seen binary file write function which needs to load a binary file. But can't figue out how to create one.
See the following example
rng(0);
M = rand(1000); % create matrix
save('data.mat', 'M'); % save using .mat
% save in .bin file
f = fopen('data.bin', 'w');
fwrite(f, M, 'double');
fclose(f);
% load from .bin file
f = fopen('data.bin', 'r');
data = reshape(fread(f, inf, 'double'), size(M)); % binary file also does not store the matrix dimensions by default
fclose(f);
Jhon Gray
Jhon Gray le 30 Sep 2020
Thanks a lot
Ameer Hamza
Ameer Hamza le 1 Oct 2020
I am glad to be of help!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by