External Interfaces Reference |
Modify number of dimensions and size of each dimension
C Syntax
Arguments
array_ptr
Pointer to an mxArray
.
dims
The dimensions array. Each element in the dimensions array contains the size of the array in that dimension. For example, setting dims[0]
to 5 and dims[1]
to 7 establishes a 5-by-7 mxArray
. In most cases, there should be ndim
elements in the dims
array.
ndim
The desired number of dimensions.
Returns
0 on success, and 1 on failure. mxSetDimensions
allocates heap space to hold the input size array. So it is possible (though extremely unlikely) that increasing the number of dimensions can cause the system to run out of heap space.
Description
Call mxSetDimensions
to reshape an existing mxArray
. mxSetDimensions
is similar to mxSetM
and mxSetN
; however, mxSetDimensions
provides greater control for reshaping mxArrays
that have more than two-dimensions.
mxSetDimensions
does not allocate or deallocate any space for the pr
or pi
arrays. Consequently, if your call to mxSetDimensions
increases the number of elements in the mxArray
, then you must enlarge the pr
(and pi
, if it exists) arrays accordingly.
If your call to mxSetDimensions
reduces the number of elements in the mxArray
, then you can optionally reduce the size of the pr
and pi
arrays using mxRealloc.
Any trailing singleton dimensions specified in the dims
argument are automatically removed from the resulting array. For example, if ndim
equals 5
and dims
equals [4 1 7 1 1]
, the resulting array is given the dimensions 4-by-1-by-7.
Examples
See mxsetdimensions.c
in the mx
subdirectory of the examples
directory.
See Also
mxGetNumberOfDimensions
, mxSetM
, mxSetN
mxSetData | mxSetField |
© 1994-2005 The MathWorks, Inc.