一位研究人员在 MATLAB 中创建了一个小型模拟,我们希望其他人可以使用它。我的计划是进行模拟,清理一些东西并将其变成一组函数。然后我打算将它编译成一个 C 库并使用 SWIG 创建一个 Python 包装器。那时,我应该能够从一个小型 Django 应用程序调用模拟。至少我希望如此。
我有正确的计划吗?有没有其他人做过类似的事情?如果有任何我目前不知道的严重陷阱,你能告诉我吗?
要记住的一件事是,Matlab 编译器实际上并没有将 Matlab 代码编译成本机机器指令。它只是将其包装成一个独立的可执行文件或一个带有运行它的运行时引擎的库。您将能够在没有安装 Matlab 的情况下运行您的代码,并且您可以将其与其他语言接口,但它仍将是解释的 Matlab 代码,因此不会有加速。
我不会有太多帮助,但我记得我能够将 MATLAB 仿真包装到 DLL 中,然后从 Delphi 应用程序中调用它。它工作得非常好。
我也会先尝试 ctypes 。
最难的一步可能是 1,但如果你已经了解 Matlab 并且使用过 Matlab 编译器,那么你应该不会遇到严重的问题。
也许尝试ctypes而不是 SWIG。如果它已作为 Python 2.5 的一部分包含在内,那么它一定很好:-)