主要内容

C ++ MEX应用程序

创建高性能matlab®在现代C ++中实现的功能

使用C ++ MEX API创建MATLAB函数,可提供C ++程序的效率,并且可以访问MATLAB的外部函数和库。C ++ MEX API提供了以下功能:

  • 使用现代C ++编程功能和面向对象的设计。

  • 从MEX函数调用matlab函数。

  • 无缝地集成到MATLAB中,将输入从并将结果返回到MATLAB。

  • 金宝app支持MATLAB数据类型和编写编写的语义。

  • 写入线程安全的多线程MEX函数。

  • 执行外部的C ++ MEX函数。

笔记

Matlab C ++ API中的函数使用matlab :: data :: Array类定义MATLAB数据API.。如果您的MEX函数必须在MATLAB R2017B或更早版本中运行,或者如果您愿意在C语言中工作,请使用C矩阵API.与之合作mxarray.数据结构代替。有关更多信息,请参阅从c致电matlab

C ++课程

Matlab :: Mex ::功能 C ++ MEX功能的基类
Matlab :: Mex :: ArgumentList 用于C ++ MEX功能的输入和输出的容器

摆脱流程执行

Mexhost. 为C ++ MEX功能创建主机进程
Feval. 在MEX主机进程中评估C ++ MEX功能
matlab.mex.mexhost. 用于C ++ MEX函数执行的流程主机

话题

开始创建C ++ MEX函数

C ++ MEX功能

MEX文件在C ++中实现MATLAB函数。

创建C ++ MEX源文件

以下是如何创建基本C ++ MEX功能。

设置和构建MEX文件

构建C ++ MEX程序

在不同平台上构建MEX应用程序。

测试您的构建环境

使用预定义的C ++ MEX文件测试您的构建环境。

C ++ MEX API

使用C ++ 11功能和C ++ Engine API来实现MEX功能。

C ++ MEX功能设计

C ++ MEX功能的结构

实现覆盖函数调用运算符的类()创建算子对象。

避免MEX功能中的数组副本

避免制作大阵列的副本以减少内存使用率并提高执行速度的技术。

管理MEX函数的外部资源

定制MEXFUTCTION.类更好地处理MEX功能使用的资源。

处理输入和输出

检查MATLAB中的输入的大小和类型和显示错误消息。

在MATLAB命令窗口中显示输出

MEX函数可以在MATLAB命令窗口中显示输出。

使用mexcallmatlab制作异步请求

用一个呼叫回到matlab时的行为异步请求Matlab :: Engine :: Matlabengine :: Fevalasync

马铃薯MEX函数中的数据类型

键入,单元格和结构阵列中的数据访问

单元格和结构阵列让您在不复制整个数组的情况下写入数组内容。

通过MEX函数数据的数据类型

定义正确的数据类型以在MATLAB和MEX函数之间传递数据。

称呼马铃薯职能

调用MEX函数的MATLAB函数

调用MATLAB函数,将参数传递给MEX函数并将参数返回。

捕获MEX功能的异常

在MEX函数中捕获异常。

从MEX函数执行MATLAB语句

执行matlab语句以在调用者的工作区中创建变量。

单独的线程和流程

从MEX功能中调用MATLAB从单独的线程

MEX函数可以使用C ++引擎异步API从用户创建的线程调用MATLAB。

用于C ++ MEX函数的流程执行

在与MATLAB进程分开的进程中执行C ++ MEX函数。

使用权马铃薯变量

从MEX设置并获取MATLAB变量

将变量放入或从MATLAB基础和全局工作空间获取变量。

MEX功能中的MATLAB对象

将MATLAB对象传递给MEX函数。

使用MAX函数用于MATLAB类方法

您可以使用MEX函数来实现MATLAB类的方法。