ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

sub2ind

添字から線形インデックスへの変換

構文

linearInd = sub2ind(matrixSize, rowSub, colSub)
linearInd = sub2ind(arraySize, dim1Sub, dim2Sub, dim3Sub, ...)

説明

linearInd = sub2ind(matrixSize, rowSub, colSub) は、サイズ matrixSize の行列に対し、rowSubcolSub の行と列の添字に相当する線形インデックスを返します。matrixSize 入力は、行列の行と列の数を [nRows, nCols] として指定する 2 要素ベクトルです。rowSubcolSub の入力は 0 または正の整数のスカラーかベクトルで、1 つまたは複数の行 - 列の添字の組を行列に指定します。

linearInd = sub2ind(arraySize, dim1Sub, dim2Sub, dim3Sub, ...) は、サイズ arraySize の N 次元配列の各次元に指定した添字に相当する線形インデックスを返します。arraySize の入力は、配列の次元数を指定する n 要素ベクトルです。dimNSub の入力は 0 または正の整数のスカラーかベクトルで、1 つまたは複数の行 - 列の添字を行列に指定します。

すべての添字の入力には、singledouble または任意の整数型を使用できます。linearInd 出力のクラスは常に double になります。

必要に応じて、sub2ind は、指定されていない末尾の添字が 1 であると仮定します。

すべて折りたたむ

3 次元配列のインデックスを単一の線形インデックスに変換します。

配列 A を作成し、(2,1,2) の位置の要素に対応する線形インデックスを検索します。

A = rand(3,4,2);
linearInd = sub2ind(size(A),2,1,2)
linearInd = 14

両方のバージョンのインデックスが A の同じ要素を参照していることを確認します。

A(2,1,2)
ans = 0.4854
A(14)
ans = 0.4854

拡張機能

参考

| |

R2006a より前に導入