У меня есть некоторые данные, которые я хотел бы сохранить в МАТОВЫЙ файл (версия 4 или 5 или любая версия, в этом отношении). Выгода: Я хотел сделать это, не пользуясь matlab библиотеками, так как этот код не будет необходимое выполнение в машине с matlab. Моя программа использует Java и C++, таким образом, любая существующая библиотека на тех языках, которая достигает этого, могла выручить меня...
Я провел некоторое исследование, но ничего не нашел в Java/C++. Однако я нашел, что scipy на Python достигает этого с mio4.py
или mio5.py
. Я думал о реализации этого на Java или C++, но это кажется немного из моего расписания.
Таким образом, вопрос: есть ли какие-либо библиотеки в Java или C/C++, который разрешает сохранить МАТОВЫЕ файлы, не пользуясь библиотеками Matlab?
Большое спасибо
C: matio
Java: jmatio
(мне очень хочется, поэтому я скажу, чтобы вы научились гуглить)
Но на самом деле, не так уж сложно писать mat-файлы, используя fwrite
, если вам не нужно обрабатывать некоторые более сложные вещи (вложенные структуры, классы, функции, разреженные матрицы и т.д.).
См: http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/matfile_format.pdf
Файлы MAT, начиная с версии 7, основаны на HDF5. Я помню, что они используют довольно забавные условные обозначения, но вы можете перепроектировать то, что вам нужно. Конечно, существуют библиотеки записи HDF5 как для Java, так и для C ++.
Кроме того, Matlab может читать / записывать несколько стандартных форматов, включая HDF5. Возможно, проще всего будет записать ваши данные в «стандартный» HDF5 и прочитать их в нужной структуре данных в Matlab.