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?

 Respuesta aceptada

Ameer Hamza
Ameer Hamza el 30 de Sept. de 2020

2 votos

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 comentarios

Jhon Gray
Jhon Gray el 30 de Sept. de 2020
Editada: Jhon Gray el 30 de Sept. de 2020
okay. Thanks a lot
Jhon Gray
Jhon Gray el 30 de Sept. de 2020
Editada: Jhon Gray el 30 de Sept. de 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 el 30 de Sept. de 2020
Thanks a lot
Ameer Hamza
Ameer Hamza el 1 de Oct. de 2020
I am glad to be of help!

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2020a

Preguntada:

el 30 de Sept. de 2020

Comentada:

el 1 de Oct. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by