Matlabヘッダーとライブラリを使用せずにマットファイルを書く
質問
マットファイル(バージョン4または5、または任意のバージョン)に保存したいデータがいくつかあります。キャッチ:MATLABライブラリを使用せずにこれを実行したかったのです。なぜなら、このコードはMATLABを使用してマシンで実行する必要はないからです。私のプログラムはJavaとC ++を使用しているので、これを達成する言語の既存のライブラリは私を助けることができます...
私はいくつかの研究をしましたが、Java/C ++では何も見つかりませんでした。しかし、私はPythonのScipyがこれを達成することを発見しました mio4.py
また mio5.py
. 。 JavaまたはC ++でこれを実装することを考えましたが、それは私のタイムスケジュールから少し外れているようです。
質問は、MATLABライブラリを使用せずにマットファイルを保存できるようにするJavaまたはC/C ++にライブラリがありますか?
どうもありがとう
解決
C: マティオ
Java: jmatio
(私は本当に誘惑されているので、私はあなたにグーグルを学ぶようにあなたに言います)
しかし、本当に、マットファイルを使用して書くのはそれほど難しくありません fwrite
より複雑なもの(ネストされた構造体、クラス、関数、スパースマトリックスなど)を処理する必要がない場合。
見る: http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/matfile_format.pdf
他のヒント
バージョン7がHDF5ベースであるため、マットファイル。私は彼らがいくつかのかなり面白い慣習を使用していることを思い出しますが、あなたはあなたが必要とするものをリバースエンジニアリングすることができるかもしれません。確かに、JavaとC ++の両方にHDF5ライブラリがあります。
これらの線に沿って、MATLABはHDF5を含むいくつかの標準形式を読み書きできます。データを「標準」HDF5に記述し、MATLAB内の目的のデータ構造に読み込むのが最も簡単かもしれません。