savemat#, mdict, appendmat=True, format='5', long_field_names=False, do_compression=False, oned_as='row')[source]#

Save a dictionary of names and arrays into a MATLAB-style .mat file.

This saves the array objects in the given dictionary to a MATLAB- style .mat file.

file_namestr or file-like object

Name of the .mat file (.mat extension not needed if appendmat == True). Can also pass open file_like object.


Dictionary from which to save matfile variables.

appendmatbool, optional

True (the default) to append the .mat extension to the end of the given filename, if not already present.

format{‘5’, ‘4’}, string, optional

‘5’ (the default) for MATLAB 5 and up (to 7.2), ‘4’ for MATLAB 4 .mat files.

long_field_namesbool, optional

False (the default) - maximum field name length in a structure is 31 characters which is the documented maximum length. True - maximum field name length in a structure is 63 characters which works for MATLAB 7.6+.

do_compressionbool, optional

Whether or not to compress matrices on write. Default is False.

oned_as{‘row’, ‘column’}, optional

If ‘column’, write 1-D NumPy arrays as column vectors. If ‘row’, write 1-D NumPy arrays as row vectors.


>>> from import savemat
>>> import numpy as np
>>> a = np.arange(20)
>>> mdic = {"a": a, "label": "experiment"}
>>> mdic
{'a': array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19]),
'label': 'experiment'}
>>> savemat("matlab_matrix.mat", mdic)