主要内容

连接java.跑步马铃薯草会话

找到并连接到马铃薯草

您可以连接Java®发动机到共享MATLAB®在本地计算机上运行的会话。要连接到共享MATLAB会话:

  • 启动MATLAB作为共享引擎会话,或制作运行的MATLAB进程使用matlab.engine.shareEngine

  • 使用使用的查找MATLAB共享会话的名称matlabengine.findmatlab.或者matlabengine.findmatlabasync.静态方法。

  • 传递包含共享MATLAB会话名称的字符串matlabengine.connectmatlab.或者matlabengine.connectmatlabasync.静态方法。这些方法将Java引擎连接到共享会话。

如果您未在调用时指定共享MATLAB会话的名称matlabengine.connectmatlab.或者matlabengine.connectmatlabasync.,引擎使用创建的第一个共享MATLAB会话。如果没有可用的共享MATLAB会话,则引擎会创建共享MATLAB会话并连接到此会话。

有关这些方法的描述,请参阅com.mathworks.eengine.matlabengine.

连接到马铃薯草同步

通过调用将MATLAB会话转换为共享会话matlab.engine.shareEngine来自Matlab。

matlab.engine.shareEngine

找到会话并同步地从Java连接。

导入com.mathworks.eengine。*;公共类javafindconnect {public静态void main(string [] args)抛出异常{string []引擎= matlabengine.findmatlab();Matlabengine Eng = Matlabengine.ConnectMatlab(发动机[0]);//在共享matlab会话上执行命令.En.eval(“绘图(1:10);打印('myplot',' -  djpeg')”);eng.Close();}}

连接到马铃薯草异步

通过调用将MATLAB会话转换为共享会话matlab.engine.shareEngine来自Matlab。

matlab.engine.shareEngine

查找会话并与Java异步连接。

导入com.mathworks.eengine。*;导入java.util.concurrent.future;公共类javafindconnectasync {public static void main(string [] args)抛出异常{feile  efuture = matlabengine.findmatlabasync();String []引擎= efuture.get();未来 engfuture = matlabengine.connectmatlabasync(发动机[0]);//在其他线程上工作Matlabengine Eng = Engfuture.get();//在共享Matlab会话未来执行命令 vfuture = eng.evalasync(“绘图(1:10);打印('myplot',' -  djpeg')”);eng.Close();}}

指定共享会话的名称

执行执行时,您可以指定共享MATLAB会话的名称matlab.engine.shareEnginematlab功能。这样做消除了需要使用matlabengine.findmatlab.或者matlabengine.findmatlabasync.去找名字。

例如,启动m​​atlab并命名共享会话mymatlabengine.

matlab -r“matlab.engine.shareengine('mymatlabengine')”

从Java连接到名为Matlab会话。

导入com.mathworks.eengine。*;公共类JavanameConnect {公共静态void main(String [] args)抛出异常{String [] MyEngine = {“mymatlabengine”};Matlabengine Eng = Matlabengine.ConnectMatlab(MyEngine [0]);//在共享matlab会话上执行命令.En.eval(“绘图(1:10);打印('myplot',' -  djpeg')”);eng.Close();}}

相关的话题