我正在尝试在 Octave 中获取整数向量的二进制 K 编码。我有一个向量y
, say
y = [1 ; 2 ; 3 ; 1 ; 3]
我想要一个矩阵
Y = [1 0 0
0 1 0
0 0 1
1 0 0
0 0 1]
我可以手动构造一个 K 矩阵
Y = [];
Y = [Y y == 1];
Y = [Y y == 2];
Y = [Y y == 3];
但是当我尝试用 a 来构建它时for
loop,
Y = [];
for i = unique(y),
Y = [Y y == i];
endfor
出了问题:
error: mx_el_eq: nonconformant arguments (op1 is 5x1, op2 is 3x1)
我什至不明白错误消息。我的错误在哪里?
我认为有一种方法可以在没有循环的情况下做到这一点:
Y = unique(y)(:,ones(1,size(y,1)))' == y(:,ones(size(unique(y),1),1))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)