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

一位研究人员在MATLAB中创建了一个小型模拟,我们希望让其他人可以访问它。我的计划是采取模拟,清理一些事情并将其变为一组功能。然后我打算将它编译成一个C库,并使用SWIG创建一个Python包装器。在那一点上,我应该能够从一个小型的Django应用程序调用模拟。至少我希望如此。

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

0

4 答案

我不会帮忙,但我记得我能够将MATLAB模拟包装到DLL中,然后从Delphi应用程序调用它。它工作得很好。

0
额外

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

0
额外

我也会先尝试ctypes。

  1. 使用Matlab编译器将代码编译为C.
  2. 将C代码编译成DLL。
  3. 使用ctypes加载并调用此DLL中的代码

最难的一步可能是1,但如果您已经了解Matlab并使用了Matlab编译器,则不应该有严重的问题。

0
额外

也许试试 ctypes 而不是SWIG。如果它已经作为Python 2.5的一部分被包含,那么它一定是好的:-)

0
额外