У меня проблема с использованием randsample
для нецелых значений вектора объектов. Каждый раз, когда я пытаюсь разделить вектор объектов на две части, скажем, 80% и 20%, я получаю эту ошибку:
Ошибка в randsample
(строка 154)
x(randi(n,1,k-sumx)) = 1; % sample w/replacement
Я пытался применить функцию ceil
для округления переменной, но безрезультатно.
N=length(A);
K=ceil(N);
for ink=1:1000
temp_test = zeros(N,1);
sample_train(:,ink) = randsample(N,(0.8*ceil(N)));
sample_test(:,ink) = randsample(N,(0.2*ceil(N)));
end
Где A
- это вектор объектов, имеющий 799 переменных, и мне нужно разделить его на два 80% и 20%. Проблема в том, что общее число переменных не является целым числом.
Вот отображаемая ошибка:
Предупреждение: целочисленные операнды требуются для оператора двоеточия при использовании в качестве индекса
В randsample
(строка 144)
В index_generation
(строка 15)
Ошибка при использовании randi
Размеры входных данных должны быть целыми числами.
Ошибка в randsample
(строка 154)
x(randi(n,1,k-sumx)) = 1; % sample w/replacement
Ошибка в index_generation
(строка 17)
sample_test(:,ink) = randsample(N,(0.2*ceil(N)));