Main Content

mxSetDoubles (C)

Set real data elements in mxDOUBLE_CLASS array

C Syntax

#include "matrix.h"
int mxSetDoubles(mxArray *pa, mxDouble *dt);


Use mxSetDoubles to set mxDouble 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 mxGetDoubles.

Input Arguments

expand all

Pointer to an mxDOUBLE_CLASS array.

Pointer to the first mxDouble 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 mxDOUBLE_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.


See the arrayFillSetPr.c example in the matlabroot/extern/examples/refbook folder.

API Version

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

mex -R2018a myMexFile.c
Introduced in R2018a