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?

 Risposta accettata

Ameer Hamza
Ameer Hamza il 30 Set 2020

2 voti

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 Commenti

Jhon Gray
Jhon Gray il 30 Set 2020
Modificato: Jhon Gray il 30 Set 2020
okay. Thanks a lot
Jhon Gray
Jhon Gray il 30 Set 2020
Modificato: Jhon Gray il 30 Set 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);
Thanks a lot
I am glad to be of help!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Convert Image Type in Centro assistenza e File Exchange

Prodotti

Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by