ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

ind2sub

線形インデックスから添字を抽出

構文

[I,J] = ind2sub(siz,IND)
[I1,I2,I3,...,In] = ind2sub(siz,IND)

説明

ind2sub コマンドは、配列の単一のインデックスに相当する等価の添字の値を決定します。

[I,J] = ind2sub(siz,IND) はサイズ siz の行列の行列 IND の各線形インデックスに相当する行と列の添字を含む行列 IJ を返します。sizndim(A) 要素 (この場合は 2) があるベクトルで、siz(1) は行数、siz(2) は列数です。

    メモ:   行列に対して、[I,J] = ind2sub(size(A),find(A>5)) は、[I,J] = find(A>5) と同じ値を返します。

[I1,I2,I3,...,In] = ind2sub(siz,IND) はサイズ siz の配列に対して、IND と等価な多次元配列添字を含む、n 個の添字の配列 I1I2...In を返します。sizn 個の要素をもつベクトルで、各配列次元のサイズを指定します。

例 1 — 2 次元行列

3 行 3 列の行列に対して、線形インデックスから添字へのマッピングは、以下のようになります。

以下のコードは、線形インデックス 3、4、5、6 をもつ要素の 3 行 3 列の行列の行と列の添字を決定します。

IND = [3 4 5 6]
s = [3,3];
[I,J] = ind2sub(s,IND)

I =
     3     1     2     3

J =
     1     2     2     2

例 2 — 3 次元行列

2-2-2 配列に対する線形インデックスから添字へのマッピングは、以下のようになります。

以下のコードは、IND 行列で指定した 3、4、5、6 の線形インデックスをもつ要素の 2 x 2 x 2 配列での添字を決定します。

IND = [3 4;5 6];
s = [2,2,2];
[I,J,K] = ind2sub(s,IND)

I =
     1     2
     1     2

J =
     2     2
     1     1

K =
     1     1
     2     2

例 3 — 返される出力を減らす効果

N 次元行列の関数 ind2sub を呼び出すと、通常、その呼び出しで、行列の各次元に 1 つ、N 出力引数を提供します。この例では、3 次元行列で関数 ind2sub を呼び出した場合、返される出力を 3 つ、2 つ、1 つにした場合の効果を示します。

行列は、2 x 2 x 2 で、線形インデックスは 1 ~ 8 です。

dims = [2 2 2];
indices = [1 2 3 4 5 6 7 8];

3 出力による関数 ind2sub への呼び出しは、2 x 2 x 2 行列で予測される添字を返します。

[rowsub colsub pagsub] = ind2sub(dims, indices)
rowsub =
     1     2     1     2     1     2     1     2
colsub =
     1     1     2     2     1     1     2     2
pagsub =
     1     1     1     1     2     2     2     2

2 つの出力 (行と列) のみを指定すると、関数 ind2sub は、指定された各インデックスの添字を返しますが、行列から 3 番目の次元を削除します。これにより、2 行 4 列ではなく、2 次元の行列が返されます。

[rowsub colsub] = ind2sub(dims, indices)
rowsub =
     1     2     1     2     1     2     1     2
colsub =
     1     1     2     2     3     3     4     4

1 つの出力 (行) を指定すると、関数 ind2sub は 2 番目および 3 番目の次元を行列から削除し、1 行 8 列の行列ではなく 1 次元の添字を返します。

[rowsub] = ind2sub(dims, indices)
rowsub =
     1     2     3     4     5     6     7     8

参考

| |

この情報は役に立ちましたか?