python 在MATLAB中创建共享库

lawou6xi  于 2023-01-24  发布在  Python
关注(0)|答案(4)|浏览(161)

一位研究人员在MATLAB中创建了一个小的模拟,我们希望其他人也能访问它。我的计划是获取这个模拟,清理一些东西,并将其转化为一组函数。然后我计划将其编译成一个C库,并使用SWIG创建一个Python Package 器。在这一点上,我应该能够从一个小的Django应用程序调用这个模拟。至少我希望如此。
我的计划是否正确?是否有任何严重的陷阱是我目前没有意识到的?

8ulbf1ek

8ulbf1ek1#

需要记住的一点是,MATLAB编译器实际上并没有将MATLAB代码编译成本地机器指令。它只是将其 Package 成一个独立的可执行文件或一个库,并使用自己的运行时引擎来运行它。您可以在没有安装MATLAB的情况下运行您的代码,也可以将其与其他语言连接,但它仍然是解释MATLAB代码,因此不会有加速。
另一方面,Matlab编码器是可以从Matlab生成C代码的工具。不过,它也有一些限制。并不是所有的Matlab函数都支持代码生成,而且有些事情你不能做,比如动态地更改变量的类型。

9udxz4iz

9udxz4iz2#

我记得我能够将MATLAB模拟封装到DLL file中,然后从Delphi应用程序调用它,效果非常好。

iovurdzv

iovurdzv3#

我也会先尝试ctypes
1.使用MATLAB编译器将代码编译成C。
1.将C代码编译成DLL。
1.使用ctypes从此DLL加载和调用代码
最困难的步骤可能是1,但是如果你已经了解MATLAB并且使用过MATLAB编译器,你应该不会遇到严重的问题。

lrpiutwd

lrpiutwd4#

也许可以尝试ctypes而不是SWIG。如果它已经作为Python 2. 5的一部分包含在内,那么它一定很好:-)

相关问题