主要内容

mxMakeArrayComplex (C)

真正的转换mxArray复杂,保留真实的数据

C语法

#包括“矩阵。h " int mxMakeArrayComplex (mxArray * pa);

描述

使用mxMakeArrayComplex把一个真实的mxArray对一个复杂mxArray。真正的一部分更新数组包含实际数据从原始数组中。

如果巴勒斯坦权力机构是空的,那么函数将返回一个复杂空的吗mxArray

如果巴勒斯坦权力机构很复杂,没有功能。

输入参数

全部展开

指针指向一个数字mxArray数组中。

输出参数

全部展开

状态函数,返回int。如果成功,那么函数返回1

返回0如果不成功。函数是不成功的巴勒斯坦权力机构、非数字或只读的。

例子

假设您创建应用程序流程复杂的数据和复杂mxArrays处理数据。如果你通过一个复杂的数组只包含实际数据MATLAB®函数,返回值是一个真正的数组。例如,调用MATLAB√6函数与下面的输入。

一个复杂= ((2、4))
一个我4.0000 + 0.0000 = 2.0000 + 0.0000

虽然输入参数是复杂的,数据是real-only,不再是复杂的输出函数。

a1 (12 (a)
a1 = 1.4142 - 2.0000

为了保持数据的复杂性,使用mxMakeArrayComplex函数将结果。构建墨西哥人文件complexFnc.c:

墨西哥人-R2018acomplexFnc.c
空白mexFunction (int nlhs mxArray * plhs [], int nrhs, const mxArray * prhs []) {mxArray * rhs [1], * lh [1];/ *检查适当的数量的参数* /如果(nrhs ! = 1) {mexErrMsgIdAndTxt (“MATLAB: complexFnc: checkrhs”、“1输入必需的。”);}如果(nlhs > 1) {mexErrMsgIdAndTxt (“MATLAB: complexFnc: checklhs”,“太多的输出参数。”);}#如果MX_HAS_INTERLEAVED_COMPLEX / * * /平方根rhs [0] = mxDuplicateArray (prhs [0]);mexCallMATLAB (lh, 1,“√”);如果(! mxIsComplex (lh[0])){/ *保存数据的复杂性* / mxMakeArrayComplex (lh [0]);}plhs [0] = mxDuplicateArray (lh [0]);# endif}

版本历史

介绍了R2018a

另请参阅