У меня есть вектор y длины n. y (i) является целым числом в 1..m. Существует ли более простой способ преобразования y в логическую матрицу n x m yy, где yy (i, j) = 1, если y (i) = j, но 0 в противном случае? Вот как я это делал:
% If m is known (m = 3 here), you could write it out all at once
yy = [y == 1; y== 2; y == 3];
yy = reshape(yy, n, 3);
или
% if m is not known ahead of time
yy = [ y == 1 ];
for i = 2:m;
yy = [ yy; y == i ];
end
yy = reshape(yy, n, m);