2008-08-07 88 views
9

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

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

回答

3

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

1

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

2

我也会先尝试ctypes。

  1. 使用Matlab的编译器来编译代码到C.
  2. C代码编译成一个DLL。
  3. 使用ctypes的加载,并从该DLL

调用代码中最难的一步可能是1,但如果你已经知道了Matlab和已经使用Matlab的编译器,你不应该有严重的问题了。

5

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

相关问题