主要内容

c++引擎API简介

MATLAB®Engine API for c++允许c++程序与MATLAB进行同步或异步交互。万博1manbetx支持的操作包括:

  • MATLAB开始。

  • 连接到本地机器上的MATLAB共享会话。

  • 用c++传递的输入参数和MATLAB返回的输出变量调用MATLAB函数。

  • 在MATLAB基本工作区中评估MATLAB语句。

  • 传递变量从c++到MATLAB,从MATLAB到c++。

MATLAB Engine API for c++包含在MATLAB产品中。有关完整的API,请参见c++引擎API

开始

MATLAB Engine API for c++由一组c++头文件和C运行时共享库组成。名称空间matlab:发动机包含几个实用函数和一组c++类。

通过设置您的构建和运行时环境,开始使用c++的MATLAB Engine API。确保安装了受支持的编译器。万博1manbetx使用MATLAB墨西哥人命令来设置环境和构建c++应用程序。您还可以配置IDE以构建使用Engine API的c++应用程序。有关如何做到这一点的信息,请参见构建c++引擎程序

引擎API支持使用MATLAB万博1manbetx数据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 matlabPtr = startMATLAB();

创建一个MATLAB数据数组工厂来构造数据类型matlab:引擎::MATLABEngine成员函数。

matlab::数据::ArrayFactory工厂;

为MATLAB函数的输入参数定义一个MATLAB数据数组向量。每个参数都是vector中的一个数组。

//为参数创建一个MATLAB数据数组的向量std::vector< MATLAB::data::Array> args({factory. data::Array;createArray({1, 10}, {4, 8, 6, -1, -2, -3, -1, 3, 4, 5}), factory. createcharar (3), factory.createCharArray("Endpoints"), factory.createCharArray("discard")});

调用MATLABmovsum函数使用MATLABEngine:函数宏指令成员函数。将返回的结果定义为适当类型的MATLAB数据数组。

//调用带参数的MATLAB函数并返回结果MATLAB::data::TypedArray result = matlabPtr->feval(u"movsum", args);

另请参阅

|

相关的话题