Main Content

ind2vec

ベクトルへのインデックスの変換

説明

vec = ind2vec(ind) は、インデックスの行ベクトル ind を取り、ind で示されたとおりに、それらが表すインデックスの行に一つの 1 が格納されたベクトルのスパース行列 vec を返します。

ind2vecvec2ind を使用すると、インデックスをそれ自体で表したり、インデックスの対応行に一つの 1 を含むベクトルとして表したりできます。

vec = ind2vec(ind,N)NM 列のスパース行列を返します。ここで、N は最大のインデックス以上にすることができます。

すべて折りたたむ

この例では、関数 ind2vec を使用してインデックスをベクトル表現に変換する方法を示します。

4 つのインデックスを定義し、それらをベクトル表現に変換します。

ind = [1 3 2 3];
vec = ind2vec(ind)
vec =
   (1,1)        1
   (3,2)        1
   (2,3)        1
   (3,4)        1

この例では、関数 ind2vec と関数 vec2ind の両方を使用して、ベクトルをインデックスに変換したり、元に戻したりする方法を示します。

最後の行がすべて 0 であるベクトルを定義し、それをインデックスに変換します。

vec = [0 0 1 0; 1 0 0 0; 0 1 0 0]'
[ind,n] = vec2ind(vec)
vec =
     0     1     0
     0     0     1
     1     0     0
     0     0     0
ind =
     3     1     2

n =
     4

行数を維持したまま、インデックスをベクトルに変換します。

vec2 = full(ind2vec(ind,n))
vec2 =
     0     1     0
     0     0     1
     1     0     0
     0     0     0

入力引数

すべて折りたたむ

インデックス。行ベクトルとして指定します。

出力行列の行数。スカラーとして指定します。

出力引数

すべて折りたたむ

インデックスのベクトル表現。NM 列のスパース行列として返されます。

バージョン履歴

R2006a より前に導入