从Java运行MATLAB函数

Tom*_*Tom 11 java matlab

我在MATLAB中有一个.m文件,我想从Java调用一个字符串或Java中的任何一个解决方案.这听起来很简单,但由于某种原因,我无法使其工作.

我试过这个:

matlab -nosplash -wait -nodesktop -r  myFunction
Run Code Online (Sandbox Code Playgroud)

但是我不确定我是如何解析答案的,因为MATLAB打开了它自己的命令行(在Windows中).

我用它,但它没有返回任何东西.

Process p = Runtime.getRuntime().exec(commandToRun);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
Run Code Online (Sandbox Code Playgroud)

我似乎每次调用MATLAB时都会打开一个单独的窗口,这是一个问题,因为我想多次运行它.

Jef*_*rey 7

诀窍是使用MatlabControl类http://www.cs.virginia.edu/~whitehouse/matlab/JavaMatlab.html.它非常易于使用,您可以完全按照自己的意愿(以及更多)进行操作.


小智 7

matlabcontrol基于Jeff提到的MatlabControl所使用的相同底层MATLAB库,但它更新,更可靠,更具记录性.要开始,请查看演练.