Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

mxSetDimensions (C)

次元数と各次元のサイズを変更

C 構文

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

説明

mxSetDimensions は、成功した場合に 0、失敗した場合に 1 を返します。mxSetDimensions は、入力サイズ配列を保持するためのヒープ領域を割り当てます。このため、次元数を増やすと、ヒープ領域が不足することがまれに考えられます。

mxSetDimensions を呼び出して、既存の mxArray の次元を変更します。mxSetDimensionsmxSetMmxSetN と似ていますが、mxSetDimensions は 3 次元以上の mxArray の次元の変更において、より細かい制御ができます。

mxSetDimensions が配列 pr や配列 pi のスペースを割り当てたり、割り当て解除したりすることはありません。したがって、mxSetDimensions の呼び出しによって mxArray 内の要素の数が増加する場合は、配列 pr (および存在する場合は pi) を適宜拡大してください。

mxSetDimensions の呼び出しによって mxArray 内の要素数が減少する場合は、mxRealloc を使用して配列 pr と配列 pi のサイズを任意に減らすことができます。

MATLAB® は、dims 引数に指定されている、後に続く大きさが 1 の次元を自動的に削除します。たとえば、ndim5dims[4 1 7 1 1] である場合、結果の配列には 4 x 1 x 7 の次元が含まれます。

入力引数

すべて展開する

mxArray 配列へのポインター。const mxArray* として指定します。

次元配列。次元配列の各要素には、mwSize として指定された、その次元の配列のサイズが含まれています。たとえば、Fortran で dims(1)5 に設定し dims(2)7 に設定すると、57 列の mxArray が確立されます。ほとんどの場合は配列 dimsndim 要素が存在します。

次元数。mwSize として指定します。

matlabroot/extern/examples/mx の次の例を参照してください。

R2006a より前に導入