我能在Ruby中加载MATLAB的mat文件吗?

3
2个回答

3

实际上,SciRuby现在已经拥有它。

您需要从git获取NMatrix,而不是通过RubyGems获取:

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 版本发布,它也会在 gem 中出现。


在重新打包之前记得运行 bundle install。 - Tjad Clark

1

部分答案。

如果您在Matlab中以7.3格式保存,实际上是HDF5格式,而Ruby库支持该格式。

对于旧格式,应该可以使用此question中的库之一进行封装。


如果我没有弄错的话(至少在matlab中),你只能在HDF5数据集中存储简单的数据类型(我的意思是像int、double这样的数字)。对我来说,matlab mat文件的整个重点就在于它对复杂数据结构(struct)和灵活大小的灵活性。我认为这个解决方案不适用于我的目的。如果我有一个简单/可管理的数据结构,我可以将它们导出到分隔文本文件中并读取它们。 - Ali
这可能适用于hdf5命令(从未使用过它们)。但是7.3 matfile具有与先前版本相同的功能(尽管目前速度较慢)。因此,它完全支持您可以想到的任何数据结构。 - bdecaf
也许我误解了你的意思,你是说我应该能够使用“-v7.3”开关保存mat文件,并使用ruby HDF5库打开它吗?如果这就是你的意思,你有没有想到可以用来实现这一点的ruby gem/库? - Ali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接