2008-08-07 95 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代碼,所以不會加速。

相關問題