Main Content

mxSetComplexUint8s (C)

Set complex data elements in mxUINT8_CLASS array

C Syntax

#include "matrix.h"
int mxSetComplexUint8s(mxArray *pa, mxComplexUint8 *dt);

Description

Use mxSetComplexUint8s to set mxComplexUint8 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.

Input Arguments

expand all

Pointer to an mxUINT8_CLASS array.

Pointer to the first mxComplexUint8 element of the data array. dt must be allocated by the functions mxCalloc or mxMalloc.

Output Arguments

expand all

Function status, returned as int. If successful, then the function returns 1.

If pa is NULL, then the function returns 0.

The function is unsuccessful when mxArray is not an unshared mxUINT8_CLASS array, or if the data is not allocated with mxCalloc. If the function is unsuccessful, then:

  • MEX file — Function terminates the MEX file and returns control to the MATLAB® prompt.

  • Standalone (non-MEX file) application — Function returns 0.

Examples

Refer to the arrayFillSetComplexPr.c example in the matlabroot/extern/examples/refbook folder which copies existing complex numeric data into an mxArray. 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 uint8 data:

  • Declare the data variables as mxComplexUint8

  • Call mxCreateNumericMatrix with the numeric type mxUINT8_CLASS

  • Replace mxSetDoubles with mxSetComplexUint8s to put the C array into an mxArray

API Version

This function is available in the interleaved complex API. To build myMexFile.c using this function, type:

mex -R2018a myMexFile.c

Version History

Introduced in R2018a