有没有办法在 Perl 中读取 MATLAB .mat 文件?

Posted

技术标签:

【中文标题】有没有办法在 Perl 中读取 MATLAB .mat 文件?【英文标题】:Is there any way to read MATLAB's .mat files in Perl? 【发布时间】:2011-02-05 08:18:40 【问题描述】:

我有一些在MATLAB 中生成的数据,我想使用 Perl 进行处理。我将 MATLAB 中的数据保存在 .mat 文件中。有什么办法可以在 Perl 中阅读它吗?

【问题讨论】:

【参考方案1】:

一种选择是从 MATLAB 内部将二进制 MAT 文件另存为 ASCII,使用类似的方式:

load('test_data.mat');
save('test_data.asc', 'var1', 'var2', '-ascii');

然后您将在 Perl 中处理 ASCII 数据。

如果您需要一个完全用 Perl 编写的解决方案,那么您应该能够使用 CPAN 上的 Math::MATLAB 包自动执行该过程。

注意:如果 Python 是一个选项,您可以在 SciPy Python library 中使用 loadmat 函数。

【讨论】:

【参考方案2】:

Java 库JMatIO 对我来说效果很好。也许您可以尝试使用inline Java。

【讨论】:

这听起来是个好主意,只是我根本不懂 Java :-(

以上是关于有没有办法在 Perl 中读取 MATLAB .mat 文件?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在没有 mcr 的情况下在 matlab 中为 .m 文件创建 .exe 文件?

如何在 MATLAB 中读取包含数字的文本文件?

matlab:读取图像的子部分

有没有办法在matlab的单元格模式下调用子函数?

有没有办法从文件夹中读取图像并将其保存在 powerpoint 中

Perl正则表达式选项存储在变量中[重复]