dopasowywanie próbek wierszy do etykiet klas

Mam mały problem z poniższym kodem ostatniej linii, który ma być konkretny, próbuję znaleźć nazwy klas mojej „próbki”, przez co mam na myśli, że muszę wiedzieć, która norma i który smurf należy do każdej linii mojej próbki 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 powinien równać się 1000 etykietom klasy przykładowej, z których 750 powinno być normalne, a 250 powinno być smerfami i powinny one odpowiadać dokładnie tej samej linii w próbce. Book2 zawiera etykiety klas, które również mam fulldaty, z których pochodzi próbka.

Atm K1 powoduje:

Index exceeds matrix dimensions

Może być po prostu łatwy sposób dopasowania danych próbki do danych w fulldacie, ale nie jestem pewien, czy mogą być powtarzane dane w fulldacie ... więc dopasowanie się kończy i ponieważsample jest losowy, więc odrzucam to, co mogę zrobić, aby dopasować etykiety klas do próbkowania.

questionAnswers(1)

yourAnswerToTheQuestion