Mat_VarWrite - Man Page

Writes a MATLAB variable to a MATLAB MAT file.


#include <matio.h>

Mat_VarWrite(mat_t *matfp, matvar_t *matvar, enum matio_compression compress);


The Mat_VarWrite() function writes the MATLAB variable matvar to the MAT file matfp which must be opened for writing. If the MAT file is a version 5 or HDF5 MAT file, the compress option allows the variable to be written using zlib compression if available. If compression is not available, the variable is written uncompressed.

Return Values

The function returns 0 if the variable was successfully written to the MAT file. Otherwise, an error value is returned.


This example program creates a MAT file named by the first argument to the program, and writes the variable named m_pi to the file.

#include <math.h>
#include "matio.h"

main(int argc, char **argv)
    mat_t    *matfp;
    matvar_t *matvar;
    size_t    dims[2] = {1, 1};
    double    m_pi = M_PI;

    matfp = Mat_CreateVer(argv[1], NULL, MAT_FT_DEFAULT);
    if ( NULL == matfp ) {
        fprintf(stderr, "Error creating MAT file %s0, argv[1]);
        return EXIT_FAILURE;

    matvar = Mat_VarCreate("m_pi", MAT_C_DOUBLE, MAT_T_DOUBLE,
                           2, dims, &m_pi, 0);
    if ( NULL != matvar ) {
        Mat_VarWrite(matfp, matvar, MAT_COMPRESSION_ZLIB);

    return EXIT_SUCCESS;

See Also

Mat_CreateVer(3), Mat_Open(3), Mat_VarRead(3), Mat_VarWriteAppend(3)

Referenced By

Mat_VarCreate(3), Mat_VarWriteAppend(3).

September 12, 2019