Преобразуйте векторы в индексы
[ind,n] = vec2ind(vec)
ind2vec
и vec2ind
разрешить представление индексов либо самостоятельно, либо в виде векторов, содержащих 1 в строке индекса, который они представляют.
[ind,n] = vec2ind(vec)
принимает один аргумент,
vec | Матрица векторов, каждый из которых содержит одну 1 |
и возвращает
ind | Индексы 1с |
n | Количество строк в vec |
Здесь три вектора преобразуются в индексы и назад, сохраняя при этом количество строк.
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 = 4
vec2 = full(ind2vec(ind,n))
vec2 = 0 1 0 0 0 1 1 0 0 0 0 0