This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

mxSetN (C and Fortran)

Set number of columns in array

C Syntax

#include "matrix.h"
void mxSetN(mxArray *pm, mwSize n);

Fortran Syntax

#include "fintrf.h"
subroutine mxSetN(pm, n)
mwPointer pm
mwSize n



Pointer to an mxArray


Number of columns


Call mxSetN to set the number of columns in the specified mxArray. The term columns always means the second dimension of a matrix. Calling mxSetN forces an mxArray to have two dimensions. For example, if pm points to an mxArray having three dimensions, calling mxSetN reduces the mxArray to two dimensions.

You typically use mxSetN to change the shape of an existing mxArray. The mxSetN function does not allocate or deallocate any space for the pr, pi, ir, or jc arrays. So, if your calls to mxSetN and mxSetM increase the number of elements in the mxArray, enlarge the pr, pi, ir, and/or jc arrays.

If calling mxSetM and mxSetN reduces the number of elements in the mxArray, you might want to reduce the sizes of the pr, pi, ir, and/or jc arrays to use heap space more efficiently. However, reducing the size is not mandatory.


See the following examples in matlabroot/extern/examples/mx.

See the following examples in matlabroot/extern/examples/refbook.

See Also

mxGetM, mxGetN, mxSetM

Introduced before R2006a

Was this topic helpful?