amostras de linha correspondentes aos rótulos de classe

Eu tenho um pequeno problema com o código abaixo a última linha a ser específica, eu estou tentando encontrar os nomes de classe do meu "exemplo" por isso quero dizer que eu preciso saber qual normal e qual smurf pertence a cada linha da minha amostra de 1000x6 .

%% sampling
normIdx = strmatch('normal.', Book2);
normalSubset = fulldata(normIdx, :);
normal = randperm(size(normalSubset , 1));
p = (normal(1:750)-1)';

%
smurfIdx = strmatch('smurf.', Book2);
smurfSubset = fulldata(smurfIdx, :);
smurf = randperm(size(smurfSubset , 1));
a = (smurf(1:250)-1)';

%
normalSample = normalSubset (p, :);
smurfSample = smurfSubset (a, :);

%
sample = [normalSample ; smurfSample]

%
sample = sample(randperm(1000),:);

%
idx = [a ; p];
K1 = Book2(idx (sample==1), :)

K1 deve ser igual a 1000 rótulos de classe de amostra, dos quais 750 devem ser normais e 250 devem ser smurf e devem corresponder exatamente à mesma linha da amostra. Book2 contém os rótulos de classe Eu também tenho fulldata do qual a amostra foi derivada.

Atm K1 resultados:

Index exceeds matrix dimensions

Poderia haver apenas uma maneira fácil de combinar os dados da amostra com os dados em fulldata, mas não tenho certeza se poderia haver dados repetidos em fulldata ... então a correspondência está fora e porquesample é aleatório, então sou descartado quanto ao que posso fazer para combinar os rótulos de classe com a amostragem.

questionAnswers(1)

yourAnswerToTheQuestion