Rapid lossless data compression of numerical or string variables

Rapidly compresses (or decompresses) Matlab variables in memory
Updated 14 Nov 2005

No License

Using the public domain ZLIB Deflator algorithm, these two functions (DZIP and DUNZIP) losslessly compress or decompress MATLAB variables of most data types so that they occupy less space. Class type and variable size and shape are stored within the compressed data.

(1) The input variable can be a scalar, vector, matrix, or n-dimensional matrix
(2) The input variable must be a non-complex and full (meaning matrices declared as type "sparse" are not allowed)
(4) In testing, DZIP compresses several megabytes of data per second.
(5) In testing, sparsely populated matrices or matrices with regular structure can compress to less than 10% of their original size. The realized compression ratio is heavily dependent on the data. (For example, a large stream of truly random data is theoretically impossible to compress.)
(6) Variables originally occupying very little memory (less than about half of one kilobyte) are handled correctly, but the compression requires some overhead and may actually increase the storage size of such small data sets. One exception to this rule is noted next.
(7) LOGICAL variables are compressed to a small fraction of their original sizes.
(8) The DUNZIP function decompresses the output of this function and restores the original data, including size and class type.
(9) This function uses the public domain ZLIB Deflater algorithm.
(10) Carefully tested, but no warranty; use at your own risk.
(11) Michael Kleder, Nov 2005

Cite As

Michael Kleder (2024). Rapid lossless data compression of numerical or string variables (https://www.mathworks.com/matlabcentral/fileexchange/8899-rapid-lossless-data-compression-of-numerical-or-string-variables), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP2
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Large Files and Big Data 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

better handling of scalar inputs