主要内容

com.mathworks.engine.MatlabEngine

Java类使用MATLAB作为计算引擎

描述

com.mathworks.engine.MatlabEngine类使用MATLAB®过程作为Java的计算引擎®。这个类提供了Java语言和MATLAB之间的一个接口,使您从Java评估MATLAB函数和语句。

创建

MatlabEngine类提供了静态方法开始MATLAB和连接到一个共享的MATLAB会话同步或异步。只有这些静态方法可以实例化这个类:

不支金宝app持的启动选项

这些MATLAB引擎不支持启动选项:金宝app

  • - h

  • -

  • - - - - - - ?

  • - n

  • - e

  • -softwareopengl

  • 日志文件

MATLAB启动选项的信息,请参阅常用的启动选项

方法总结

静态方法

startMatlab

MATLAB同步开始。

startMatlabAsync

开始异步MATLAB。

findMatlab

找到所有MATLAB会话共享在本地机器上同步。

findMatlabAsync

找到所有MATLAB会话共享异步在本地机器上。

connectMatlab

连接到一个共享的MATLAB会话在本地机器上同步。

connectMatlabAsync

连接到一个共享的MATLAB异步会话在本地机器上。

getCurrentMatlab

连接到当前MATLAB会话时从MATLAB环境。

成员变量

NULL_WRITER

使用一个作家,忽略了MATLAB命令窗口的内容。

成员函数

函数宏指令

评估MATLAB函数输入参数同步。

fevalAsync

异步评估MATLAB函数输入参数。

eval

评估一个MATLAB语句作为一个字符串同步。

evalAsync

评估一个异步MATLAB语句作为字符串。

getVariable

从MATLAB基础工作空间同步得到一个变量。

getVariableAsync

从MATLAB基础得到一个变量异步工作区。

putVariable

把一个变量到MATLAB基础工作空间同步。

putVariableAsync

把一个变量到异步MATLAB基础工作空间。

断开连接

断开与当前MATLAB会话同步。

disconnectAsync

断开与当前MATLAB异步会话。

辞职

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

quitAsync

强制关闭当前的MATLAB异步会话终止无需等待。

关闭

断开或终止当前的MATLAB会话。

方法详细信息

startMatlab

静态MatlabEngine startMatlab (String[]选项)

静态MatlabEngine startMatlab ()

描述

MATLAB同步开始。

参数

String[]选项

启动选项用于启动MATLAB引擎。您可以指定多个启动选项。支持所有MATLAB引金宝app擎启动选项,除了中列出的选项不支金宝app持的启动选项。选项的列表,请参阅特定于平台的命令matlab (Windows),matlab (macOS),或matlab (Linux)

返回

的实例MatlabEngine

抛出

com.mathworks.engine.EngineException

MATLAB未能启动。

例子
String[]选项= {" -noFigureWindows”,“- r”、“cd H: "};MatlabEngine eng = MatlabEngine.startMatlab(选项);

startMatlabAsync

静态未来< MatlabEngine > startMatlabAsync (String[]选项)

静态未来< MatlabEngine > startMatlabAsync ()

描述

开始异步MATLAB。一旦MATLAB已经开始,你不能取消的方法。

参数

String[]选项

启动选项用于启动MATLAB引擎。您可以指定多个启动选项。支持所有MATLAB引金宝app擎启动选项,除了中列出的选项不支金宝app持的启动选项。选项的列表,请参阅特定于平台的命令matlab (Windows),matlab (macOS),或matlab (Linux)

返回

的实例未来的< MatlabEngine >

例子
< MatlabEngine >未来= MatlabEngine.startMatlabAsync ();

findMatlab

静态String [] findMatlab ()

描述

找到所有MATLAB会话共享在本地机器上同步。

返回

数组的所有MATLAB会话共享的名称在本地机器上,或者一个空向量如果没有MATLAB会话共享在本地机器上可用。

抛出

com.mathworks.engine.EngineException

有一个在寻找MATLAB会话失败。

例子
String[]引擎= MatlabEngine.findMatlab ();

findMatlabAsync

静态未来< String [] > findMatlabAsync ()

描述

找到所有MATLAB会话共享异步在本地机器上。

返回

的一个实例未来的< String [] >

例子
< String[] >未来= MatlabEngine.findMatlabAsync ();

connectMatlab

静态MatlabEngine connectMatlab(字符串名称)

静态MatlabEngine connectMatlab ()

描述

连接到一个共享的MATLAB会话在本地机器上同步。

  • 如果指定的名称MATLAB共享会话,但引擎无法找到一个会话名称,引擎将抛出一个异常。

  • 如果不指定一个名称和没有可用MATLAB会话共享,MATLAB引擎启动一个新的共享会话的缺省选项。

  • 如果你不指定一个名称和可用的MATLAB会话共享,发动机连接到第一个可用的会话。

连接到当前MATLAB会话从MATLAB环境时,使用getCurrentMatlab代替。

参数

字符串名称

MATLAB共享会话的名称。使用findMatlabMATLAB会话共享的名称。

返回

的一个实例MatlabEngine

抛出

com.mathworks.engine.EngineException

MATLAB无法启动或连接。

例子
MatlabEngine引擎= MatlabEngine.connectMatlab ();

connectMatlabAsync

静态未来< MatlabEngine > connectMatlabAsync(字符串名称)

静态< MatlabEngine > connectMatlabAsync未来

描述

连接到一个共享的MATLAB异步会话在本地机器上。的行为是一样的connectMatlab除了机制是异步的。一旦连接了MATLAB,你不能取消的方法。

参数

字符串名称

MATLAB共享会话的名称。

返回

的一个实例未来的< MatlabEngine >

例子
< MatlabEngine >未来= MatlabEngine.connectMatlabAsync ();

getCurrentMatlab

静态MatlabEngine getCurrentMatlab ()

描述

从R2021b开始,连接到当前MATLAB会话时从MATLAB环境。

连接到MATLAB会话从引擎调用应用程序时,使用connectMatlab

返回

的一个实例MatlabEngine

抛出

com.mathworks.engine.EngineException

不支持从用户线程调用。金宝app

例子
MatlabEngine引擎= MatlabEngine.getCurrentMatlab ();
另请参阅

从Java调用回MATLAB

函数宏指令

< T > T函数宏指令(int nlhs字符串函数,输出作家,作家错误,对象…args)

< T > T函数宏指令(int nlhs字符串函数,对象…args)

< T > T函数宏指令(输出字符串函数,作家,作家错误,对象…args)

< T > T函数宏指令(字符串函数,对象…args)

描述

评估MATLAB函数输入参数同步。

参数

字符串函数

MATLAB函数或脚本的名称来评估。

int nlhs

预期输出。默认值为1。

如果nlhs大于1返回的类型T必须< Object [] >

如果nlhs0返回的类型T必须<空>< ? >

如果nlhs1返回的类型T可以预期的类型或<对象>如果类型是未知的。

作家输出

用于存储的标准输出流MATLAB函数。如果你不指定一个作家,输出写入命令窗口或终端。使用NULL_WRITER忽略MATLAB命令的输出窗口。

作者错误

用于存储的标准错误流MATLAB函数。如果不指定一个作家,错误消息写入命令窗口或终端。使用NULL_WRITER忽略错误消息的MATLAB命令窗口。

对象……arg游戏

通过MATLAB函数的参数。

返回

MATLAB函数执行的结果

抛出

java.util.concurrent.CancellationException

评价一个MATLAB函数被取消了。

java.lang.InterruptedException

评价一个MATLAB函数被人打断了。

java.lang.IllegalStateException

MATLAB会话是不可用的。

com.mathworks.engine.MatlabExecutionException

有一个MATLAB函数运行时错误。

com.mathworks.engine.Un金宝appsupportedTypeException

有一个不支持的数据类型。金宝app

com.mathworks.engine.MatlabSyntaxException

有一个语法错误在MATLAB函数。

例子
结果=引擎的两倍。函数宏指令“√”,4);

fevalAsync

< T > < T > fevalAsync未来(int nlhs,字符串函数,作家输出,作家错误,对象…args)

未来< T > < T > fevalAsync (int nlhs,字符串函数,对象…args)

< T > < T > fevalAsync未来(输出字符串函数,作家,作家错误,对象…args)

未来< T > < T > fevalAsync(字符串函数,对象…args)

描述

异步评估MATLAB函数输入参数。

参数

字符串函数

MATLAB函数或脚本的名称来评估。

int nlhs

预期输出。默认是1

如果nlhs大于1返回的类型T必须< Object [] >

如果nlhs0返回的类型T必须<空>< ? >

如果nlhs1返回的类型T可以预期的类型或<对象>如果类型是未知的。

作家输出

用于存储的标准输出流MATLAB函数。如果你不指定一个作家,输出写入命令窗口或终端。使用NULL_WRITER忽略MATLAB命令的输出窗口。

作者错误

用于存储的标准错误流MATLAB函数。如果不指定一个作家,错误消息写入命令窗口或终端。使用NULL_WRITER忽略错误消息的MATLAB命令窗口。

对象……arg游戏

通过MATLAB函数的参数。

返回

的一个实例未来的< T >

抛出

java.lang.IllegalStateException

MATLAB会话是不可用的。
例子
<二>未来=引擎。fevalAsync“√”, 4);

eval

空白eval (String命令,作家输出,作家错误)

空白eval (String命令)

描述

评估一个MATLAB语句作为一个字符串同步。

参数

字符串命令

MATLAB语句来评估。

作家输出

用于存储的标准输出流MATLAB语句。如果你不指定一个作家,输出写入命令窗口或终端。使用NULL_WRITER忽略MATLAB命令的输出窗口。

作者错误

用于存储的标准错误流MATLAB语句。如果不指定一个作家,错误消息写入命令窗口或终端。使用NULL_WRITER忽略错误消息的MATLAB命令窗口。

抛出

java.util.concurrent.CancellationException

评价一个MATLAB函数被取消了。

java.lang.InterruptedException

评价一个MATLAB函数被人打断了。

java.lang.IllegalStateException

MATLAB会话是不可用的。

com.mathworks.engine.MatlabExecutionException

有一个错误在运行时MATLAB语句中。

com.mathworks.engine.MatlabSyntaxException

在MATLAB声明中有一个语法错误。

例子
引擎。eval("result = sqrt(4)");

evalAsync

未来的<空白> evalAsync(字符串命令,作家输出,作家错误)

未来<空白> evalAsync (String命令)

描述

评估一个异步MATLAB语句作为字符串。

参数

字符串命令

MATLAB语句来评估。

作家输出

用于存储的标准输出流MATLAB语句。如果你不指定一个作家,输出写入命令窗口或终端。使用NULL_WRITER忽略MATLAB命令的输出窗口。

作者错误

用于存储的标准错误流MATLAB语句。如果不指定一个作家,错误消息写入命令窗口或终端。使用NULL_WRITER忽略错误消息的MATLAB命令窗口。

返回

的一个实例<空>未来

抛出

java.lang.IllegalStateException

MATLAB会话是不可用的。

例子
<空>未来= engine.evalAsync (“sqrt (4)”);

getVariable

< T > T getVariable(字符串varName)

描述

从MATLAB基础工作空间同步得到一个变量。

参数

字符串varName

变量名在MATLAB基础工作区。

返回

变量通过MATLAB基础工作空间

抛出

java.util.concurrent.CancellationException

这个函数是评价取消。

java.lang.InterruptedException

这个函数是评价中断。

java.lang.IllegalStateException

MATLAB会话是不可用的。

例子
双myvar# = engine.getVariable (“myvar#”);

getVariableAsync

未来< T > < T > getVariableAsync(字符串varName)

描述

从MATLAB基础得到一个变量异步工作区。

参数

字符串varName

变量名在MATLAB基础工作区。

返回

的一个实例未来的< T >

抛出

java.lang.IllegalStateException

MATLAB会话是不可用的。

例子
<二>未来= engine.getVariableAsync (“myvar#”);

putVariable

空白putVariable(字符串varName T varData)

描述

把一个变量到MATLAB基础工作空间同步。

参数

字符串varName

MATLAB基础变量名称创建工作区。

T varData

MATLAB基础值的变量创建工作区。

抛出

java.util.concurrent.CancellationException

这个函数是评价取消。

java.lang.InterruptedException

这个函数是评价中断。

java.lang.IllegalStateException

MATLAB会话是不可用的。

例子
引擎。putVariable (“myvar#”, 100);

putVariableAsync

未来的<空白> putVariableAsync(字符串varName T varData)

描述

把一个变量到异步MATLAB基础工作空间。

参数

字符串varName

MATLAB基础变量名称创建工作区。

T varData

MATLAB基础值的变量创建工作区。

返回

的一个实例<空>未来

抛出

java.lang.IllegalStateException

MATLAB会话是不可用的。

例子
<空>未来=引擎。putVariableAsync("myVar", 100);

断开连接

空白断开()

描述

断开与当前MATLAB会话同步。

抛出

com.mathworks.engine.EngineException

当前MATLAB会话不能断开。

例子
engine.disconnect ();

disconnectAsync

未来的<空白> disconnectAsync ()

描述

断开与当前MATLAB异步会话。

例子
<空>未来= engine.disconnectAsync ();

辞职

无效退出()

描述

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

抛出

com.mathworks.engine.EngineException

当前MATLAB会话无法关闭。

例子
engine.quit ();

quitAsync

未来的<空白> quitAsync ()

描述

强制关闭当前的MATLAB异步会话终止无需等待。

返回

的一个实例<空>未来

例子
<空>未来= engine.quitAsync ();

关闭

空白close ()

描述

MatlabEngine提供了close ()方法来实现java.lang.AutoCloseable界面MatlabEngine对象。这close ()方法使您能够使用试一试资源声明自动断开或者终止MATLAB会话结束时声明。

MatlabEngineclose ()方法断开或终止当前MATLAB会话,这取决于上下文。

  • 如果一个Java进程开始MATLAB会话作为默认共享会话,close ()终止MATLAB。

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

强制关闭或断开当前MATLAB会话,显式地调用MatlabEngine.quit (),MatlabEngine.disconnect ()或异步同行。

例子
engine.close ();

版本历史

介绍了R2016b

全部展开