Пусть x
будет матрица 1211x1 (Label), и пусть im
(IndicatorMatrix) будет матрица, которую вы хотите создать. Есть:
h = size(x,1);
im = [zeros(h, 2), repmat(x == 34, 1, 2), zeros(h, 2)];
Это создает матрицу, которая представляет собой горизонтальную конкатенацию нулевой матрицы с 2 столбцами и высотой h, затем булева матрица x == 34 (которая имеет 1, где x было 34, и ноль в других местах), повторенная 2 раза по горизонтали и один раз по вертикали, а затем снова еще одна нулевая матрица.
Обратите внимание, что в вашем случае мы могли бы заменить h на 1211, но я попытался написать более общий код.