Skip to content
C/C++ library to handle writing simple Matlab(r) MAT file
C++ Other
  1. C++ 98.1%
  2. Other 1.9%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test added support for arrays of different types, now completely relies on… Jul 20, 2015
test_qt some renames to clear up functionality Jul 20, 2015
.gitignore
LICENSE Initial commit Jul 18, 2015
README.md
tinymatwriter.cpp
tinymatwriter.h improvements from HDM AG Nov 10, 2017

README.md

TinyMAT

A (partly templated) C++ library to handle writing simple Matlab(r) MAT file in Version "MATLAB 5.0" or higher

This library implements a very simple interface to write Matlab MAT file (level 5), as described in http://www.mathworks.de/help/pdf_doc/matlab/matfile_format.pdf

It is licensed under the terms of the GNU Lesser general Public license (LGPL) >=2.1

Example

The following example code writes some arrays and matrices into a MAT-file:

	TinyMATWriterFile* mat=TinyMATWriter_open("test.mat");
	if (mat) {
		// a 3D matrix in row-major
		double mat432[4*3*2]= {
		    1,2,3,
			4,5,6,
			
			10,20,30,
			40,50,60,
			
			100,200,300,
			400,500,600,
			
			1000,2000,3000,
			4000,5000,6000,
		};
		int32_t mat432_size[3] = {3,2,4}; // columns, rows, matrices,...

		// a struct as a map of doubles
		std::map<std::string, double> mp1;
		mp1["x"]=100;
		mp1["y"]=200;
		mp1["z"]=300;
		mp1["longname"]=10000*M_PI;

		TinyMATWriter_writeStruct(mat, "struct1", mp1);
		TinyMATWriter_writeMatrixND_rowmajor(mat, "matrix432", mat432, mat432_size, 3);
		
		TinyMATWriter_close(mat);
	}
You can’t perform that action at this time.