java.类使用MATLAB作为一个计算引擎
的com.mathworks.engine.MatlabEngine
班级使用matlab®进程作为Java的计算引擎®.此类提供Java语言和MATLAB之间的接口,使您可以评估MATLAB函数和Java的表达式。
的MatlabEngine
类提供静态方法以同步或异步方式启动MATLAB并连接到共享的MATLAB会话。只有这些静态方法可以实例化这个类:
启动MATLAB同步-startmatlab.
同步连接到共享MATLAB会话 -connectmatlab.
启动MATLAB异步-startMatlabAsync
异步连接到共享MATLAB会话 -connectmatlabasync.
引擎不支持这些MATLAB启动选项:金宝app
-H
-帮助
- ?
-N
-e.
-softwareopengl
日志文件
有关MATLAB启动选项的信息,请参见常用启动选项.
MATLAB同步开始。 |
|
开始异步MATLAB。 |
|
从本地机器同步查找所有可用的共享MATLAB会话。 |
|
异步查找来自本地计算机的所有可用的Shared MATLAB会话。 |
|
同步地连接到本地计算机上的共享MATLAB会话。 |
|
异步连接到本地机器上的共享MATLAB会话。 |
|
当从MATLAB环境调用时,连接到当前的MATLAB会话。 |
null_writer. |
使用忽略MATLAB命令窗口中的内容的编写器。 |
同步计算带参数的MATLAB函数。 |
|
使用异步评估MATLAB函数与参数。 |
|
同步地计算一个MATLAB表达式作为字符串。 |
|
异步将MATLAB表达式评估为字符串。 |
|
从Matlab Base工作区同时获取变量。 |
|
从MATLAB基础工作区异步获取一个变量。 |
|
同步地将一个变量放入MATLAB基础工作空间中。 |
|
将一个变量异步地放入MATLAB基本工作区中。 |
|
同步断开当前MATLAB会话。 |
|
异步断开当前MATLAB会话。 |
|
强制关闭当前的MATLAB会话同步。 |
|
强制异步关闭当前MATLAB会话。 |
|
断开或终止当前的MATLAB会话。 |
startmatlab.
static MatlabEngine startMatlab(String[] options)
静态matlabengine startmatlab()
MATLAB同步开始。
|
启动选项用于启动MATLAB引擎。您可以指定多个启动选项。引擎支持所有MATLA金宝appB启动选项,除了在不支金宝app持的启动选项.有关选项列表,请参阅特定于平台的命令 |
的实例MatlabEngine
|
MATLAB无法启动。 |
String[]选项= {" -noFigureWindows”,“- r”、“cd H: "};MatlabEngine eng = MatlabEngine. startmatlab (options);
startMatlabAsync
static Future
静态未来< MatlabEngine > startMatlabAsync ()
开始异步MATLAB。一旦MATLAB已经开始,然后取消是一个无操作。
|
启动选项用于启动MATLAB引擎。您可以指定多个启动选项。引擎支持所有MATLA金宝appB启动选项,除了在不支金宝app持的启动选项.有关选项列表,请参阅特定于平台的命令 |
的实例未来的< MatlabEngine >
未来未来= matlabengine.startmatlabasync();
findmatlab.
静态字符串[] findmatlab()
同步查找本地计算机上的所有共享MATLAB会话。
本地机器上所有共享MATLAB会话的名称数组,如果本地机器上没有可用的共享MATLAB会话,则为空向量。
|
如果在查找MATLAB会话期间出现失败。 |
String[] engines = MatlabEngine.findMatlab();
findMatlabAsync
静态未来< String [] > findMatlabAsync ()
异步查找本地计算机上的所有共享MATLAB会话。
的一个实例未来
FutureFuture = MatlabEngine.findMatlabAsync();
connectmatlab.
static matlabengine connectmatlab(字符串名称)
静态matlabengine connectmatlab()
同步连接到本地机器上的共享会话。
如果您指定了一个共享MATLAB会话的名称,但是引擎无法找到具有该名称的会话,则引擎会抛出一个异常。
如果未指定名称,并且没有可用的共享MATLAB会话,则引擎启动具有默认选项的新共享MATLAB会话。
如果未指定名称,并且有共享的MATLAB会话可用,则引擎连接到第一个可用会话。
当从MATLAB环境调用时,要连接到当前的MATLAB会话,请使用getCurrentMatlab
代替。
|
共享的MATLAB会话的名称。使用findmatlab.获取共享的MATLAB会话的名称。 |
的一个实例MatlabEngine
|
MATLAB无法启动或连接。 |
matlabengine引擎= matlabengine.connectmatlab();
connectmatlabasync.
static Future
静态未来< MatlabEngine > connectMatlabAsync
异步连接到本地计算机上的共享MATLAB会话。行为与之相同connectmatlab.
不过这种机制是异步的。一旦连接到MATLAB,然后取消是一个无操作。
|
共享的MATLAB会话的名称。 |
的一个实例未来的< MatlabEngine >
FutureFuture = MatlabEngine. connectmatlabasync ();
getCurrentMatlab
静态matlabengine getcurrentmatlab()
当从MATLAB环境调用时,连接到当前的MATLAB会话。
从引擎应用程序调用时连接到MATLAB会话,使用connectmatlab.
.
的一个实例MatlabEngine
|
从不支持的用户线程调用。金宝app |
matlabengine引擎= matlabengine.getcurrentmatlab();
函数宏指令
用输入参数同步地计算MATLAB函数。
|
要评估的MATLAB函数或脚本的名称。 |
|
预期产出数量。默认为1。 如果 如果 如果 |
|
用于存储MATLAB函数的标准输出的流。如果不指定写入器,则将输出写入命令窗口或终端。使用 |
|
流用来存储来自MATLAB函数的标准误差。如果不指定写入器,则将输出写入命令窗口或终端。使用 |
|
传递给matlab函数的参数。 |
执行MATLAB函数的结果
|
取消了MATLAB函数的计算。 |
|
MATLAB功能的评估中断。 |
|
MATLAB会话不可用。 |
|
函数中存在MATLAB运行时错误。 |
|
有一个不受支持的数据类型。金宝app |
|
在MATLAB函数中有一个语法错误。 |
Double result = engine。函数宏指令“√”,4);
fevalAsync
用输入参数异步地计算MATLAB函数。
|
要评估的MATLAB函数或脚本的名称。 |
|
预期产出数量。默认为 如果 如果 如果 |
|
用于存储MATLAB函数的标准输出的流。如果不指定写入器,则将输出写入命令窗口或终端。使用 |
|
流用来存储来自MATLAB函数的标准误差。如果不指定写入器,则将输出写入命令窗口或终端。使用 |
|
传递给matlab函数的参数。 |
的一个实例未来
|
MATLAB会话不可用。 |
未来未来=引擎.Fevalasync(“SQRT”,4);
eval
void eval(String命令,Writer输出,Writer错误)
空白eval (String命令)
同步地计算一个MATLAB语句作为一个字符串。
|
Matlab声明评估。 |
|
用于存储MATLAB语句的标准输出的流。如果不指定写入器,则将输出写入命令窗口或终端。使用 |
|
用于存储来自MATLAB语句的标准错误的流。如果不指定写入器,则将输出写入命令窗口或终端。使用 |
|
取消了MATLAB函数的计算。 |
|
MATLAB功能的评估中断。 |
|
MATLAB会话不可用。 |
|
在运行时,在MATLAB语句中有一个错误。 |
|
在MATLAB语句中有一个语法错误。 |
Engine.eval(“结果= SQRT(4)”);
evalAsync
未来
未来
异步计算一个MATLAB语句作为一个字符串。
|
Matlab声明评估。 |
|
用于存储MATLAB语句的标准输出的流。如果不指定写入器,则将输出写入命令窗口或终端。使用 |
|
用于存储来自MATLAB语句的标准错误的流。如果不指定写入器,则将输出写入命令窗口或终端。使用 |
的一个实例未来
|
MATLAB会话不可用。 |
未来未来= Engine.evalasync(“SQRT(4)”);
GetVariable.
getVariable(String varname)
从Matlab Base工作区获取变量。
|
Matlab基础工作区中的变量的名称。 |
从MATLAB基础工作区传递的变量
|
取消对此功能的评估。 |
|
该函数的计算被中断。 |
|
MATLAB会话不可用。 |
double myVar = engine.getVariable("myVar");
getvariableasync.
从MATLAB基础工作区异步获取一个变量。
|
在MATLAB基础工作区中变量的名称。 |
的一个实例未来
|
MATLAB会话不可用。 |
FutureFuture = engine.getVariableAsync("myVar");
putVariable
void putvariable(String varname,t vardata)
将一个变量放入MATLAB基本工作区中。
|
在MATLAB基础工作区中创建变量的名称。 |
|
要在MATLAB基础工作空间中创建的变量的值。 |
|
取消对此功能的评估。 |
|
该函数的计算被中断。 |
|
MATLAB会话不可用。 |
Engine.putVariable(“Myvar”,100);
PutvariaBleasync.
未来
将一个变量异步地放入MATLAB基本工作区中。
|
在MATLAB基础工作区中创建变量的名称。 |
|
要在MATLAB基础工作空间中创建的变量的值。 |
的一个实例未来
|
MATLAB会话不可用。 |
未来未来= Engine.putvariaBleAsync(“Myvar”,100);
断开连接
void disconnect()
断开当前MATLAB会话的连接。
|
当前的MATLAB会话无法断开。 |
Engine.disconnect();
disconnectasync.
未来的< >空白disconnectAsync ()
断开当前MATLAB会话的连接。
FutureFuture = engine.disconnectAsync();
退出
void quit()
强制关闭当前的MATLAB会话。
|
当前的MATLAB会话无法关闭。 |
Engine.quit();
quitAsync
未来
强制在不等待终止的情况下异步地关闭当前的MATLAB会话。
的一个实例未来
FutureFuture = engine.quitAsync();
关闭
void close()
MatlabEngine
提供了close ()
方法来实现java.lang.AutoCloseable
界面MatlabEngine
对象。这close ()
方法使您可以使用尝试
-With-Resources语句,以在语句结束时自动断开或终止MATLAB会话。
的MatlabEngine
close ()
方法断开或终止当前MATLAB会话,具体取决于上下文。
如果Java进程启动MATLAB会话作为默认的非共享会话,close ()
终止MATLAB。
如果MATLAB会话是共享会话,close ()
将MATLAB从这个Java进程中断开。MATLAB在没有其他连接时终止。
强制关闭或断开当前的MATLAB会话,显式呼叫matlabengine.quit()
,matlabengine.disconnect()
或者他们的异步同行。
engine.close ();