主要内容

MEX函数表源代码示例

下表包含用于创建示例MEX函数的源代码文件列表。将这些示例用作创建自己的MEX函数的起点。下表包含以下信息。

  • 示例名称-在MATLAB中打开源文件的链接®编辑为您的方便。您可以使用任何代码开发编辑器来创建源MEX文件。

  • 示例子文件夹-的子文件夹草根/外面的例子包含示例。将文件复制到可写文件夹时,请使用此子文件夹名称。

  • Description -描述示例。

  • 更多信息-指向描述或使用示例的主题的链接,或指向示例中使用的API函数的链接。

开始

使用墨西哥命令来构建示例。确保安装了matlab支持的编译器。金宝app验证为源代码语言选择的编译器类型:

墨西哥人设置

使用以下命令语法将文件复制到路径上的可写文件夹中。文件名示例的名称是and吗文件夹名子文件夹名。

copyfile(完整文件(matlabroot、'extern'、'examples'、'文件夹名”、“文件名",","f")

例如,复制arrayProduct.c类型:

copyfile(完整文件)(matlabroot,“外来的”,“例子”,“墨西哥”,“arrayProduct.c”),'.',“f”)

C、C++和FORTRAN MEX函数

要在MATLAB中或在操作系统提示下构建示例MEX函数,请使用以下命令语法。文件名是示例名称,并且release-option指定示例使用的API。有关MATLAB api的信息,请参见选择MEX应用程序.

mex-v-release-option文件名
实例名称 示例子文件夹 描述 更多信息
arrayFillGetPr.c 参考书目

填满MX阵列使用mxGetDoubles.

在C MEX文件中填充mxArray
arrayFillSetData.c 参考书目

填满MX阵列具有非双精度值。

在C MEX文件中填充mxArray
arrayFillSetPr.c 参考书目

填满MX阵列使用mxSetDoubles动态分配内存。

在C MEX文件中填充mxArray
arrayFillSetPrComplex.c 参考书目

填满MX阵列使用mxSetComplexDoubles动态分配内存。

在C MEX文件中填充mxArray
arrayProduct.c 墨西哥

将标量乘以1xN矩阵。

创建C源MEX文件
arrayProduct.cpp cpp_mex

等同于arrayProduct.c,使用MATLAB数据API.

C++函数
arraySize.c 墨西哥

说明大型计算机的内存需求MX阵列.

处理C MEX文件中的大型MX阵列
complexAdd。F 参考书目

添加两个复杂的双数组。

对流
convec。F
参考书目

传递复杂数据。

在C MEX文件中处理复杂数据
dblmat。F
计算
参考书目 Fortran的使用%瓦尔.
doubleelement.c 参考书目 使用无符号16位整数。 在C MEX文件中处理8-,16-,32-和64-位数据
探索 墨西哥 识别输入变量的数据类型。 使用mxArrays
findnz.c 参考书目 使用N维数组。 在cmex文件中操作多维数值数组
fulltosparseIC.c
fulltosparse.c
fulltosparse。F,loadsparse.F
参考书目 填充一个稀疏矩阵。 在C MEX文件中处理稀疏数组
马茨 参考书目 用Fortran语言传递矩阵。
matsqint8。F 参考书目 用Fortran传递非双矩阵。
mexatexit.c
mexatexit.cpp
墨西哥 注册一个退出函数以关闭数据文件。 C++文件处理实例
mexcallmatlab.c 墨西哥

调用内置的MATLABdisp功能。

mexcallmatlabwithtrap.c 墨西哥 如何捕获错误信息。
mexcpp.cpp 墨西哥 演示用C Matrix API构建的MEX文件中的一些c++语言特性。 c++类的例子
mexevalstring.c 墨西哥 使用mexEvalString在MATLAB中分配变量。 mexEvalString
mexfunction.c 墨西哥 如何使用MEX函数. MEX函数
mxgetproperty.c 墨西哥 使用mxGetPropertymxSetProperty改变现状颜色图形对象的属性。 mxGetPropertymxSetProperty
mexgetarray.c 墨西哥 使用mexGetVariablemexPutVariable跟踪MEX文件和MATLAB全局工作区中的计数器。 mexGetVariablemexPutVariable
mexgetarray.cpp 等同于mexgetarray.c,使用matlab::engine::getVariablematlab:引擎::setVariableMATLAB数据API. 从MEX设置并获取MATLAB变量
mexlock.c
mexlockf.F
墨西哥 如何锁定和解锁MEX文件。 梅克洛克
mxcalcsinglesubscript.c mx 演示基于MATLAB 1的矩阵索引与基于C 0的索引。 MXCalcSingle下标
mxcreatecellmatrix.c
mxcreatecellmatrixf。F
mx 创建2d单元格数组。 在C MEX文件中创建二维单元阵列
mxcreatecharmatrixfromstr.c mx 创建二维字符数组。 MXCreateCharmMatrixFromString
mxcreatestructarray.c mx 从C结构创建MATLAB结构。 mxCreateStructArray
mxcreateuninitnumericmatrix.c mx

创建一个未初始化的MX阵列,用本地数据填充,然后返回。

mxCreateUninitNumericMatrix
mxgeteps.c
mxgetepsf.F
mx

阅读MATLABEPS价值

mxGetEps
mxgetinf.c mx

阅读价值

mxGetInf
mxgetnzmax.c mx 显示稀疏矩阵中非零元素的个数及其可存储的最大非零元素个数。 mxGetNzmax
mxisclass.c mx 检查array是否是指定类的成员。 mxIsClass
mxisfinite.c mx 检查和无限值。 mxisLimited
mxislogical.c mx

检查工作区变量是逻辑的还是全局的。

mxIsLogical
mxiscalar.c mx 检查输入变量是否为标量。 mxIsScalar
mxmalloc.c mx

分配内存以复制MATLAB字符数组转换为c风格字符串。

mxMalloc
mxsetdimensions.c
mxsetdimensionsf.F
mx 重塑阵列的形状。 mxSetDimensions
mxsetnzmax.c mx 为稀疏矩阵重新分配内存,重设值公共关系,圆周率,红外光谱,及nzmax. mxSetNzmax
密码F 参考书目 通过C字符矩阵从Fortran到MATLAB。
phonebook.c 参考书目 操纵结构和细胞阵列。 在C MEX文件中传递结构和单元格数组
电话簿 cpp_mex 等同于phonebook.c,使用MATLAB数据API. C++函数
c版
第F版
参考书目

复制MATLAB字符与C样式字符串之间的数组。

在C MEX文件中传递字符串
sincall.c
sincall.F,填满。F
参考书目

创造MX阵列并传递给MATLAB情节功能。

时间2.c
时间2.F
参考书目 演示MEX文件的通用工作流程。 在cmex文件中传递标量值
xtimesy.c
xtimesy。F
参考书目 传递多个参数。
yprime.c
yprimef。F,yprimefg.F
墨西哥 解决简单的三体轨道问题。
yprime.cpp cpp_mex 等同于yprime.c,使用MATLAB数据API. C++函数

调用Fortran子程序的C MEX函数

下表中的示例使用C MEX函数调用LAPACK或BLAS函数。这些示例链接到一个或两个Fortran库姆瓦拉帕克姆布拉斯. 要构建MEX函数,请按照“更多信息”列中列出的主题中的说明进行操作。

实例名称 示例子文件夹 描述 更多信息
dotProductComplex.c 参考书目 处理从C MEX文件调用的函数的Fortran复杂返回类型。 处理Fortran Complex返回类型- dotProductComplex
matrixDivide.c 参考书目 调用LAPACK函数。 保留输入值以防修改
matrixDivideComplex.c 参考书目 用复数调用LAPACK函数。 传递复杂变量-matrixDivideComplex
matrixMultiply.c 参考书目 调用BLAS函数。 从C/C++程序向Fortran函数传递参数
乌特杜努斯洛夫酒店 参考书目 使用LAPACK进行对称不定因子分解。 基于LAPACK-utdu_-slv的对称不定因子分解

另见

相关话题

外部网站