我想用Scala写一些代码。对我来说很重要的是,这些代码能够从Matlab中调用。据我所知,Java代码可以轻松地与Matlab集成。 http://www.mathworks.co.uk/help/matlab/ref/javamethod.html
那么,对于Scala代码也适用吗?
我想用Scala写一些代码。对我来说很重要的是,这些代码能够从Matlab中调用。据我所知,Java代码可以轻松地与Matlab集成。 http://www.mathworks.co.uk/help/matlab/ref/javamethod.html
那么,对于Scala代码也适用吗?
这也适用于Scala代码。只需假装你正在进行Java互操作(例如,名为+
的方法实际上应该是$plus
),并确保scala-library.jar在Matlab的类路径中(例如,使用javaaddpath
)。
顺便说一下,我以前做过Java/Matlab互操作,它并没有像人们所希望的那样“容易集成”。传递数据有点尴尬,你可能会不时地遇到类加载器和/或类路径问题。
我会谨慎计划一个有很多紧密连接的互操作的大型项目。根据我的经验,使用Unix的思维方式通常效果更好:制作独立的工具,让它们各自完成自己的事情,并将它们链接在一起以获得你想要的结果。例如,我经常让Scala编写Matlab代码并调用Matlab运行它,或者让Matlab使用系统来启动Scala程序来处理数据的子集。
因此,从Matlab调用Scala完全可行,并且对于简单接口,看起来就像Java。只需尽量保持接口简单。