Я пытаюсь получить двоичное кодирование целочисленного вектора one-of-K в Octave. У меня есть вектор y
, скажем
y = [1 ; 2 ; 3 ; 1 ; 3]
и я хочу матрицу
Y = [1 0 0
0 1 0
0 0 1
1 0 0
0 0 1]
Я могу построить матрицу one-of-K вручную с помощью
Y = [];
Y = [Y y == 1];
Y = [Y y == 2];
Y = [Y y == 3];
Но когда я пытаюсь построить его с помощью цикла for
,
Y = [];
for i = unique(y),
Y = [Y y == i];
endfor
что-то идет не так:
error: mx_el_eq: nonconformant arguments (op1 is 5x1, op2 is 3x1)
Я даже не понимаю сообщение об ошибке. Где моя ошибка?