GitHub - JuliaIO/MAT.jl: Julia module for reading MATLAB files (original) (raw)
MAT.jl
Read and write MATLAB files in Julia
This library can read MATLAB .mat
files, both in the older v4/v5/v6/v7 format, as well as the newer v7.3 format.
Installation
This is installed using the standard tools of the package manager:
where you get the pkg>
prompt by hitting ]
as the first character of the line. (Exit pkg
mode by hitting backspace or Ctrl-C as the first character of the line.)
See also the requirements for the HDF5 module, used for "v7.3" files and for writing *.mat files.
Usage
To load the module:
To read a single variable from a MAT file (compressed files are detected and handled automatically):
file = matopen("matfile.mat")
read(file, "varname") # note that this does NOT introduce a variable varname
into scope
close(file)
To write a variable to a MAT file:
file = matopen("matfile.mat", "w") write(file, "varname", variable) close(file)
To read all variables from a MAT file as a Dict:
vars = matread("matfile.mat")
To write a Dict to a MAT file, using its keys as variable names. The compress
argument is optional, and compression is off by default:
matwrite("matfile.mat", Dict( "myvar1" => 0, "myvar2" => 1 ); compress = true)
To write in MATLAB v4 format:
matwrite("matfile.mat", Dict( "myvar1" => 0, "myvar2" => 1 );version="v4")
To get a list of variable names in a MAT file:
file = matopen("matfile.mat") varnames = keys(file) close(file)
To check for the presence of a variable name in a MAT file:
file = matopen("matfile.mat") if haskey(file, "variable") # something end close(file)
Caveats
- All files are written in MATLAB v7.3 format by default.
- Writing in MATLAB v4 format is provided by the matwrite function with keyword argument.
Credits
The MAT_HDF5 module, which provides read/write support for MATLAB v7.3 files, was written primarily by Tim Holy. The MAT_v5 module, which provides read support for MATLAB v5/v6/v7 files, was written primarily by Simon Kornblith. The MAT_v4 module, which provides read and write support for MATLAB v4 files, was written primarily by Victor Saase.