2012-02-03 15 views
3

私は/インポートMATLABマットファイルをロードするためにscipy.io.loadmathttp://docs.scipy.org/doc/scipy/reference/generated/scipy.io.loadmat.html)を使用することができ、
SciRubyhttp://sciruby.com/)のように見えますが同様の機能を持っていません。
Rubyにmatファイルを読み込んだりインポートしたりするために、他のRubyライブラリやその他の方法はありますか?MATLAB matファイルをRubyに読み込むことはできますか? Pythonで

答えて

2

実際、SciRubyは今のところそれを持っています。

あなたはgitのからの代わりにRubyGemsを通じてNMatrixを取得する必要があります:

git clone git://github.com/SciRuby/nmatrix.git 
cd nmatrix 
rake repackage 
gem install pkg/nmatrix*.gem 

、その後、あなたが行うことができます。

m = NMatrix::IO::Matlab::load_mat 'filename.mat' 

は、この情報がお役に立てば幸い!一度0.0.2がリリースされると、それも宝石に収まるでしょう。

1

部分的な答え。

7.3形式でmatlabに保存すると、実際にはrubyライブラリが存在するhdf5になります。

古い形式の場合は、questionからライブラリの1つをラップすることが可能です。

+0

もし私が(少なくともmatlabで)間違っていないのであれば、HDF5データセットに単純なデータ型(int、double ...のような数字を意味する)しか格納できません。複雑なデータ構造( 'struct')とその柔軟性のあるサイズのための柔軟性があれば、私にとってはmatlab matファイル全体のポイントです。私はこのソリューションが私の目的のためにはうまくいかないと思います。シンプルで管理しやすいデータ構造があれば、区切られたテキストファイルにエクスポートして読み返すことができました。 – Ali

+0

これは、hdf5コマンドの場合(これは決して使用されません)です。しかし、7.3のmatfileは以前のバージョンと同じ機能を持っています(ただし、現時点では遅いですが)。したがって、それはあなたが思いつくことができるあらゆるデータ構造を完全にサポートします。 – bdecaf

+0

多分私はあなたを誤解しました。あなたは '-v7.3'スイッチを使ってマットファイルを保存し、それをruby HDF5ライブラリで開くことができるはずですか?これがあなたが意味するものなら、これに使うことができることを覚えているルビーの宝石/ライブラリがありますか? – Ali

関連する問題