Skip to content

juliamatlab/MAT.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MAT.jl

Build Status

docs-stable docs-dev

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:

pkg> add MAT

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:

using MAT

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.

About

Julia module for reading MATLAB files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 100.0%