我想在Scala中編寫一些代碼片段。這個代碼可以從matlab中調用對我來說很重要。 AFAIK java代碼可以很容易地與matlab集成。 http://www.mathworks.co.uk/help/matlab/ref/javamethod.htmlmatlab調用scala函數
這是否也適用於scala代碼?
我想在Scala中編寫一些代碼片段。這個代碼可以從matlab中調用對我來說很重要。 AFAIK java代碼可以很容易地與matlab集成。 http://www.mathworks.co.uk/help/matlab/ref/javamethod.htmlmatlab調用scala函數
這是否也適用於scala代碼?
你可以用另一種很容易被Matlab調用的語言封裝你的Scala代碼,比如Java的Java。因爲你似乎瞭解Java,所以你可以使用these examples來學習如何在你的Jave方法中封裝你的Scala方法。來自Matlab的調用。您可以使用不同的語言(MEX-files,loadlibrary等)提供多種其他方法。
它也適用於Scala代碼。假設你在做Java互操作(例如一個名爲+
的方法實際上是$plus
),並確保scala-library.jar在Matlab的類路徑中(例如使用javaaddpath
)。順便說一下,我之前完成過Java/Matlab互操作,並不像人們所希望的那樣「輕鬆集成」。傳遞數據有點尷尬,你往往會偶爾在類加載器和/或類路徑問題上出錯。
我會很謹慎的計劃一個有很多緊密連接的互操作性的大項目。根據我的經驗,通常使用Unix思維模式可以更好地發揮作用:製作獨立的工具,完成自己的工作,並將它們鏈接在一起以獲得您想要的。例如,我經常用Scala編寫Matlab代碼並調用Matlab來運行它,或者讓Matlab使用系統啓動一個Scala程序來處理數據的一個子集。因此,從Matlab調用Scala是完全可能的,對於簡單的接口看起來就像Java一樣。試着保持界面簡單。