MATLAB®c++引擎API使c++程序能够与MATLAB进行同步或异步交互。金宝app支持的操作包括:
MATLAB开始。
连接到本地机器上的MATLAB共享会话。
使用c++传入的输入参数和MATLAB返回的输出变量调用MATLAB函数。
在MATLAB基础工作空间中评估MATLAB语句。
从c++传递变量到MATLAB,从MATLAB传递变量到c++。
MATLAB产品中包含了用于c++的MATLAB引擎API。有关完整的API,请参见c++引擎API.
MATLAB Engine API for c++包含一组c++头文件和C运行时共享库。名称空间matlab:发动机
包含几个实用函数和一组c++类。
通过设置构建和运行时环境,开始使用MATLAB Engine API。确保安装了支持的编译器。金宝app使用MATLAB墨西哥人
命令设置环境并构建C ++应用程序。您还可以配置IDE来构建使用Engine API的C ++应用程序。有关如何执行此操作的信息,请参阅构建c++引擎程序.
Engine API支持MAT金宝appLAB Data API的使用。这个API为运行在MATLAB之外的应用程序提供了一种处理MATLAB数据的方法。有关此API的更多信息,请参见MATLAB数据API.
下面是一些简单的c++引擎代码,显示了用于执行MATLAB命令的基本元素。这段代码将一个数据数组向量传递给MATLAB函数,movsum
,并返回结果。这段c++代码在MATLAB中执行等价的这些语句。
A = [4 8 6 -1 -2 -3 -1 3 4 5];M = movsum (3“端点”,“丢弃”);
为MATLAB引擎和MATLAB数据阵列添加头文件。
#include "MatlabEngine.hpp" #include "MatlabDataArray.hpp"
启动一个MATLAB会话,并获得一个指向实例的唯一指针。
std::unique_ptr< matlab引擎> matlabPtr = startMATLAB();
创建一个MATLAB数据数组工厂来构造matlab:引擎::MATLABEngine
成员函数。
Matlab :: Data :: ArrayFactory Factory;
为MATLAB函数的输入参数定义一个MATLAB数据数组向量。每个参数都是vector中的一个数组。
std::vector< MATLAB::data::Array> args({factory. std:: data::Array)createArray({1, 10}, {4, 8, 6, -1, -2, -3, -1, 3, 4, 5}), factory.createScalar (3), factory.createCharArray("Endpoints"), factory.createCharArray("discard")});
调用MATLABmovsum
函数使用MATLABEngine:函数宏指令
成员函数。将返回的结果定义为适当类型的MATLAB数据数组。
MATLAB::data::TypedArrayresult = matlabPtr->feval(u"movsum", args);
matlab:: data:: ArrayFactory
|matlab:引擎::MATLABEngine