主要内容

c++引擎API简介

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++引擎程序的基本元素

下面是一些简单的c++引擎代码,显示了用于执行MATLAB命令的基本元素。这段代码将一个数据数组向量传递给MATLAB函数,movsum,并返回结果。这段c++代码在MATLAB中执行等价的这些语句。

A = [4 8 6 -1 -2 -3 -1 3 4 5];M = movsum (3“端点”“丢弃”);

c++引擎代码的基本元素

为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::TypedArray result = matlabPtr->feval(u"movsum", args);

另请参阅

|

相关话题