У меня есть матрица T (60000 * 1). в каждой строке этой матрицы у меня есть одно число от 0 до 9.Производите булевую матрицу из другой матрицы в matlab
Я хочу сделать еще одну матрицу Y (60000 * 10) из матрицы T. У является булевой matrix.if матрица Т в строке 2 имеет значение 3, то матрица-строка 2 матрицы Y должен быть как
[0 0 1 0 0 0 0 0 0 0]
это мой код Mnist мой набор данных
T=MnistTrainY;
Z = ones(length(T), 1) * [0 1 2 3 4 5 6 7 8 9];
Y = (Z == T);
это работает действительно хорошо, но я хочу знать, есть ли способ, который является более эффективным, с более высокой производительностью?
mind me ask you what is this -> @eq? – mkafiyan
@mkafiyan Это дескриптор функции 'eq', который является таким же, как' == ' – Suever
aha yes Я использую версию matlab R2016b, поэтому я могу использовать' Y = T == 0: 9; '. Благодарю вас: D – mkafiyan