我想知道是否有人可以告诉我在 Java 中运行 Matlab 代码的最佳方法是什么。我从未使用过 Matlab,我的计算机上也没有安装 Matlab。我得到了一个 Matlab 文件,该文件具有执行某些计算并返回性能度量的函数。Matlab中的函数使用了Matlab控件工具箱的其他函数。我希望能够从我的 Java 代码中调用这个函数。这样的事情可能吗?如何?
谢谢!
编辑:如果您自己的机器上没有 Matlab,您可以尝试在Octave中运行该文件。希望 Octave 的Control Toolbox有你需要的并且兼容。然后有javaOctave和joPAS将 Octave 连接到 Java。或者,也许您可以要求获得一份 Matlab 副本。:-)
我不知道如何与 Octave 交互,但 Matlab 的一种可能性是使用matlabcontrol Java API。您仍然需要使用具有 Matlab 许可证(以及所有必要工具箱的许可证)的计算机。
另一种可能性可能是 MathWorks 的MATLAB Builder JA。大多数 Matlab 安装不附带它,因此需要额外付费。他们说它适用于“大多数工具箱”。有免费试用。
在 OS X 或 Linux 上,我想知道是否有可能从 Java 程序将命令输入和输出命令行版本的 Matlab(或 Octave)......
一个很好的问题!鉴于 Matlab/Simulink 有 Java 源代码,集成不紧密是荒谬的。
有没有人看过Matlab的表现..太可怕了。设计者应该意识到人们会想要从其他语言中使用它,并且至少已经制作了一本真正的手册,而不是由第三方编写的半个 matlabcontrol。
管道很好,但有其自身的一系列问题,主要是便携性。IMO 除了在 Matlab 中滚动您自己的 TCP/IP 或 UDP 客户端/服务器之外,您不应该为任何事情而烦恼。这并不难。您在上面选择的协议可能是,但这取决于您。
我已经尝试了替代方案。
但老实说,如果你是一个初学者,只是学习 matlab,它并不比 java 难,而且价值会高出几个数量级。