主要内容

mxSetDimensions (C)

修改维数和每个维的大小

C语法

#include "matrix.h" int mxSetDimensions(mxArray *pm, const mwSize *dims, mwSize ndim);

描述

mxSetDimensions返回0关于成功,以及1在失败。mxSetDimensions分配堆空间来保存输入大小数组。因此,增加维数有可能(尽管不太可能)导致系统耗尽堆空间。

调用mxSetDimensions重塑现有的mxArraymxSetDimensions就像mxSetM而且mxSetN;然而,mxSetDimensions控件的重塑提供了更好的控制mxArray它不止有两个维度。

mxSetDimensions没有为?分配或释放任何空间公关π数组。所以,如果你打电话给mxSetDimensions元素中的元素数目mxArray,然后放大公关(和π,如果它存在)数组。

如你致电mxSetDimensions类中的元素数目mxArray的大小,则可以选择减小公关而且π数组的使用mxRealloc

MATLAB®属性中指定的任何尾随单例维度会变暗论点。例如,如果ndim=5而且会变暗=[4 1 7 1 1],则结果数组具有维度4——- - - - - -1——- - - - - -7

输入参数

全部展开

指向mxArray数组,指定为const mxArray *

维数组。维度数组中的每个元素都包含该维度中数组的大小,指定为mwSize.例如,在Fortran中,设置dim (1)5而且dim (2)7建立了一个5——- - - - - -7mxArray.在大多数情况下,有ndim的元素会变暗数组中。

维数,指定为mwSize

例子

请参阅matlabroot走读生/ / mx例子

版本历史

R2006a之前介绍