主要内容

c++引擎API

MATLAB®中的引擎API包括函数、类和类型定义matlab:发动机名称空间。这个API支持MA金宝appTLAB数据API,它提供了一种方法,让运行在MATLAB之外的应用程序通过一个MATLAB中立的接口来处理MATLAB数据。有关MATLAB数据API的更多信息,请参见MATLAB数据API

效用函数

函数 目的
matlab:引擎::startMATLAB 启动MATLAB会话
matlab:引擎::startMATLABAsync 异步启动MATLAB会话
matlab:引擎::connectMATLAB 使用指定的名称连接到本地机器上的共享MATLAB会话。
matlab:引擎::connectMATLABAsync 使用指定的名称异步连接到本地机器上的共享MATLAB会话。
matlab:引擎::findMATLAB 从本地机器找到所有共享的MATLAB会话。
matlab:引擎::findMATLABAsync 从本地机器异步查找所有共享的MATLAB会话。
matlab:引擎::convertUTF8StringToUTF16String 将UTF-8字符串转换为UTF-16字符串。
matlab:引擎::convertUTF16StringToUTF8String 将UTF-16字符串转换为UTF-8字符串。
matlab:引擎::terminateEngineClient 在运行时释放引擎资源

目的
matlab:引擎::MATLABEngine 用c++执行MATLAB函数。
matlab:引擎::FutureResult 从异步操作中检索结果。
matlab:引擎::WorkspaceType 枚举类定义MATLAB工作区为基地全球

MATLABEngine成员函数

matlab:引擎::MATLABEngine类定义了以下成员函数。

成员函数 目的
函数宏指令 用参数同步计算一个MATLAB®函数。
fevalAsync 用参数异步计算一个MATLAB®函数。
eval 同步评估MATLAB®语句。
evalAsync 异步计算一个MATLAB®语句。
getVariable 从MATLAB®基础或全局工作空间同步获取一个变量。
getVariableAsync 从MATLAB®基础或全局工作区异步获取一个变量。
setVariable 将一个变量同步放入MATLAB®基础或全局工作区中。
setVariableAsync 将一个变量异步地放入MATLAB®基础或全局工作区中。
getProperty 获取一个对象属性值。
getPropertyAsync 异步获取对象属性值。
setProperty 设置对象属性值。
setPropertyAsync 异步设置对象属性值。

异常类

异常 导致

matlab::引擎::例外

所有c++引擎异常的基类。

matlab:引擎::EngineException

函数中出现MATLAB运行时错误或MATLAB无法启动。

matlab:引擎::MATLABNotAvailableException

MATLAB会话不可用

matlab:引擎::MATLABSyntaxException

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

matlab:引擎::MATLABExecutionException

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

matlab:引擎::CanceledException

MATLAB函数的计算被取消。

matlab:引擎::InterruptedException

抛出的matlab::引擎::FutureResult::如果MATLAB函数或语句的求值被中断。

matlab:引擎::TypeConversionException

MATLAB函数的结果不能转换为指定的类型

数据大小限制

c++和MATLAB之间传递的数据数组的大小被限制为2gb。这个限制适用于进程之间传递的数据和支持信息。金宝app

在多线程环境中使用引擎

MATLAB Engine for c++在多线程环境中使用是安全的。你可以将这些连接到共享的MATLAB会话:

  • 从一个c++应用程序的单独线程连接到不同的共享MATLAB会话。

  • 连接到一个单一的MATLAB会话从多个引擎应用程序。

不能使用同一个进程的多个线程连接到单个共享的MATLAB会话。

相关的话题