Write a MAT file without using matlab headers and libraries

こ雲淡風輕ζ 提交于 2020-01-01 04:37:28

问题


I have some data that I would like to save to a MAT file (version 4 or 5, or any version, for that matter). The catch: I wanted to do this without using matlab libraries, since this code will not necessary run in a machine with matlab. My program uses Java and C++, so any existing library in those languages that achieves this could help me out...

I did some research but did not find anything in Java/C++. However, I found that scipy on python achieves this with mio4.py or mio5.py. I thought about implementing this on java or C++, but it seems a bit out of my time schedule.

So the question is: is there any libraries in Java or C/C++ that permits saving MAT files without using Matlab libraries?

Thanks a lot


回答1:


C: matio
Java: jmatio
(I'm really tempted to, so I will, tell you to learn to google)

But really, it's not that hard to write matfiles using fwrite if you don't need to handle some of the more complex stuff (nested structs, classes, functions, sparse matrix, etc).
See: http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/matfile_format.pdf




回答2:


MAT files since version 7 are HDF5 based. I recall that they use some rather funny conventions, but you may be able to reverse engineer what you need. There are certainly HDF5 writing libraries for both Java and C++.

Along these lines, Matlab can read/write several standard formats, including HDF5. It may be easiest to write your data in "standard" HDF5 and read it into the desired data structure within Matlab.



来源:https://stackoverflow.com/questions/2700195/write-a-mat-file-without-using-matlab-headers-and-libraries

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!