Set complex data elements in mxSINGLE_CLASS
array
#include "matrix.h" int mxSetComplexSingles(mxArray *pa, mxComplexSingle *dt);
Use mxSetComplexSingles
to set mxComplexSingle
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
mxGetComplexSingles
.
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 single
data:
Declare the data variables as mxComplexSingle
Call mxCreateNumericMatrix
with the numeric type
mxSINGLE_CLASS
Replace mxSetDoubles
with
mxSetComplexSingles
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