主要内容

启动和关闭MATLAB从Java会话

你可以启动一个MATLAB®会话从您的Java®同步或异步编程。使用这些MatlabEngine静态启动MATLAB的方法:

  • matlabengine.startmatlab.- 同步启动MATLAB会话。

  • MatlabEngine.startMatlabAsync异步启动MATLAB会话。

您应该始终使用中的方法之一来终止MATLAB会话关闭MATLAB引擎会话

开始MATLAB同步

从Java同步启动MATLAB。

进口com.mathworks.engine。*;public class StartMatlab {public static void main(String[] args) throws Exception {MatlabEngine eng = MatlabEngine. StartMatlab ();...eng.close ();} }

开始MATLAB异步

从Java异步启动MATLAB。使用得到返回的方法未来对象来等待MatlabEngine对象。

进口com.mathworks.engine。*;进口java.util.concurrent.Future;public class StartMatlab {public static void main(String[] args) throws Exception {Future engFuture = MatlabEngine. startmatlabasync ();//在MATLAB引擎启动时工作…MatlabEngine eng = engFuture.get();...eng.close ();} }

启动引擎与启动选项

您可以在启动MATLAB会话时指定MATLAB启动选项。有关MATLAB启动选项的信息,请参见常用启动选项

matlabengine.startmatlab.MatlabEngine.startMatlabAsync方法接受字符串数组作为输入。

用MATLAB启动选项同步启动引擎。

进口com.mathworks.engine。*;public class StartMatlab {String[] options = {"-noFigureWindows", "-r", "cd H:"};public static void main(String[] args) throws Exception {MatlabEngine eng = MatlabEngine. startmatlab (options);...eng.close ();} }

用MATLAB启动选项异步启动引擎。

进口com.mathworks.engine。*;进口java.util.concurrent.Future;public class StartMatlab {public static void main(String[] args) throws Exception {String[] options = {"-noFigureWindows", "-r", "cd H:"};Future engFuture = MatlabEngine. startmatlabasync (options);...MatlabEngine eng = engFuture.get();...eng.close ();} }

关闭MATLAB引擎会话

要结束MATLAB引擎会话,使用其中一个MatlabEngine方法:

方法 目的

关闭

如果Java进程将MATLAB会话作为默认的非共享会话启动,close ()终止MATLAB。

如果MATLAB会话是共享会话,close ()将MATLAB从这个Java进程中断开。MATLAB在没有其他连接时终止。

断开连接disconnectAsync

同步或异步断开当前MATLAB会话。

辞职quitAsync

强制关闭当前MATLAB会话同步或异步。

另请参阅

相关话题