Main Content

mxCalcSingleSubscript (C)

最初の要素から目的の要素へのオフセット

C 構文

#include "matrix.h"
mwIndex mxCalcSingleSubscript(const mxArray *pm, mwSize nsubs, mwIndex *subs);

説明

mxCalcSingleSubscript を呼び出して、mxArray の先頭とその mxArray の任意の要素との間にいくつの要素があるかを判断します。この関数は、添字を線形インデックスに変換します。

たとえば、(5,7) のような添字がある場合、mxCalcSingleSubscript は配列の最初の要素から (5,7) 要素までの距離を返します。mxArray データ型は、MATLAB® mxArray がいくつの次元をもっていても、1 次元配列ですべてのデータ要素を内部的に表します。内部表現の例については、データの保存を参照してください。

mxCalcSingleSubscript を使用して配列の要素を検索することは避けてください。C では、配列の開始アドレスを見つけ、その後ポインターの自動インクリメントを使用して連続する要素にアクセスする方が効率的です。たとえば、数値配列の開始アドレスを見つけるには、mxGetDoublesmxGetComplexDoubles など、型付きのデータ アクセス関数を呼び出します。

入力引数

すべて展開する

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

配列 subs の要素数。mwSize として指定します。通常、nsubs には pm が指し示す mxArray の次元数と同じ数を設定します。

添字の配列。mwIndex として指定します。配列内の各値は、次元の添字を指定します。subs(1) の値は行の添字を指定し、subs(2) の値は列の添字を指定します。添字には 1 ベースのインデックスを使用します。たとえば、subs 内の 2 次元の mxArray の開始要素を表現するには、subs(1)1 に設定し、subs(2)1 に設定します。

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

バージョン履歴

R2006a より前に導入