Set complex data elements in mxUINT16_CLASS
array
#include "matrix.h" int mxSetComplexUint16s(mxArray *pa, mxComplexUint16 *dt);
Use mxSetComplexUint16s
to set mxComplexUint16
data in the specified array.
All mxCreate
* functions allocate heap space to hold data.
Therefore, you do not ordinarily use this function to initialize the elements of an
array. Rather, call the function to replace existing values with new values.
This function does not free memory allocated for existing data. To free existing
memory, call mxFree
on the pointer returned by
mxGetComplexUint16S
.
Refer to the
arrayFillSetComplexPr.c
example in the
folder which copies existing complex numeric data into an matlabroot
/extern/examples/refbookmxArray
.
The data in the example is defined as mxComplexDouble
. You can use
this example as a pattern for any complex C numeric type. To modify this example for
complex uint16
data:
Declare the data variables as mxComplexUint16
Call mxCreateNumericMatrix
with the numeric type
mxUINT16_CLASS
Replace mxSetDoubles
with
mxSetComplexUint16s
to put the C array into an
mxArray
This function is available in the interleaved complex API. To build
myMexFile.c
using this function, type:
mex -R2018a myMexFile.c