有没有人有在MATLAB中创建共享库的经验?

时间:2008-08-07 18:47:58

标签: python c matlab

研究人员在MATLAB中创建了一个小型模拟,我们希望其他人可以访问它。我的计划是进行模拟,清理一些东西并将其转换为一组函数。然后我打算将它编译成C库并使用SWIG创建一个Python包装器。那时我应该可以从一个小的Django应用程序调用模拟。至少我希望如此。

我有正确的计划吗?有没有其他人做过类似的事情?如果我目前还没有发现任何严重的陷阱,你能告诉我吗?

4 个答案:

答案 0 :(得分:5)

要记住的一件事是Matlab编译器实际上并没有将Matlab代码编译成本机机器指令。它只是将它包装到独立的可执行文件或具有自己的运行引擎的库中。你可以在没有安装Matlab的情况下运行你的代码,并且你可以将它与其他语言连接起来,但它仍然会被解释为Matlab代码,所以没有加速。

答案 1 :(得分:3)

我不会帮助太多,但我记得我能够将MATLAB模拟包装到DLL中,然后从Delphi应用程序中调用它。它运作得非常好。

答案 2 :(得分:2)

我还会先尝试ctypes。

  1. 使用Matlab编译器将代码编译为C.
  2. 将C代码编译为DLL。
  3. 使用ctypes加载和调用此DLL中的代码
  4. 最困难的步骤可能是1,但如果您已经了解Matlab并使用过Matlab编译器,则不应该遇到严重问题。

答案 3 :(得分:1)

也许尝试ctypes 而不是SWIG。如果它已作为Python 2.5的一部分包含在内,那么它必须是好的: - )