Fast function to save a matrix

write_matrix_bin(f,m) is a fats way to save a matrix of arbitrary size and dimension.
800 Downloads
Updated 19 Jun 2009

View License

write_matrix_bin(f,m) saves the matrix "m" in a binary
file "f". write_matrix_bin is a lot faster than the built in function save(), and
takes up much less diskspace than the old "save -v6" which doesn't use compression.

write_matrix_bin also includes an option for compression with dzip
(http://www.mathworks.com/matlabcentral/fileexchange/8899). However, this
is only for convenience, and not because it's superior than the built in save()

Limitations: Think before you use write_matrix_bin() instead of save().
* Since write_matrix_bin() as default saves values as float32 it will approximate your data.
* you can't save a large matrix with compression turned on. java will urn of out heap space. This is a problem with dzip.

Here's a real life example (8000000 bytes = 7.6MB):

>> whos data_matrix
Name Size Bytes Class Attributes

data_matrix 100x100x100 8000000 double

%% Writing data to the disk

write_matrix_bin('write.compressed.test', data_matrix, 'compress', 1) => 0.509179 seconds. Filesize: 884K
save('write.save.test', 'data_matrix') => 0.582949 seconds. Filesize: 996K
write_matrix_bin('write.uncompressed.test', data_matrix) => 0.082440 seconds. Filesize: 3.9M
save -v6 'write.savev6.test' 'data_matrix' => 0.292839 seconds. Filesize: 7.7M

%% Reading data from the disk

read_matrix_bin('write.compressed.test', 'compress', 1) => 0.349878 seconds.
read_matrix_bin('write.uncompressed.test') => 0.103816 seconds.
load('write.save.test') % the compressed file => 0.088620 seconds.
load('write.savev6.test') % the uncompressed file => 0.061182 seconds.

Cite As

Arvid Bottiger (2024). Fast function to save a matrix (https://www.mathworks.com/matlabcentral/fileexchange/24483-fast-function-to-save-a-matrix), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Standard File Formats in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0