Преобразуйте индексы в векторы
ind2vec(ind)
ind2vec(ind,N)
ind2vec и vec2ind позволяют индексам быть представленными или собой, или как векторы, содержащие 1 в строке индекса, который они представляют.
ind2vec(ind) берет один аргумент,
ind | Вектор - строка из индексов |
и возвращает разреженную матрицу векторов, с одним 1 в каждом столбце, как обозначено ind.
ind2vec(ind,N) возвращает N-by-M матрица, где N может быть равным или больше, чем максимальный индекс.
Здесь четыре индекса заданы и преобразованы в векторное представление.
ind = [1 3 2 3]; vec = ind2vec(ind)
vec = (1,1) 1 (3,2) 1 (2,3) 1 (3,4) 1
Здесь вектор со всеми нулями в последней строке преобразован в индексы и назад при сохранении количества строк.
vec = [0 0 1 0; 1 0 0 0; 0 1 0 0]'
vec =
0 1 0
0 0 1
1 0 0
0 0 0[ind,n] = vec2ind(vec)
ind =
3 1 2
n =
4vec2 = full(ind2vec(ind,n))
vec2 =
0 1 0
0 0 1
1 0 0
0 0 0