我正在使用专有的 Matlab MEX 文件在 Matlab 中导入一些仿真结果(当然没有可用的源代码!)。 Matlab 的接口实际上非常简单,因为只有一个函数,返回一个 Matlab 结构体。我想知道是否有任何方法可以直接从Python调用MEX文件中的这个函数,而不必使用Matlab?
我想到的是,例如使用 SWIG 之类的东西通过提供一个自定义的 Matlab 包装器来将 C 函数导入到 Python 中......
顺便说一句,我知道使用 scipy.io.loadmat 已经可以读取 Matlab 二进制 *.mat 数据文件,但我不知道 mat 文件中的数据表示是否与 Matlab 中的内部表示相同(在这种情况下,它可能对 MEX 包装器有用)。
当然,我们的想法是能够在系统上没有安装 Matlab 的情况下使用 MEX 中提供的功能。
Thanks.
除非我误解了 Matlab 的工作原理或你的问题,否则这是不可能的。从技术角度来看,任何解决方案都需要是完整的、二进制兼容的、错误的错误、Matlab C 库的功能重新实现的功能(实现 mxGetPr、mxGetN 等),但绑定到 Python。
让我编辑我自己的答案,说出以下内容:如果您确实有可用的 MATLAB 许可证,那么这里有一个优秀的软件包MLAB 包装 http://mlabwrap.sourceforge.net这至少可以实现你想要的部分功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)