使用randi大小输入时出错,必须为整数。 randsample中的错误(第154行)x(randi(n,1,k-sumx))= 1;带替换的样品百分比

时间:2019-05-02 14:24:07

标签: matlab

我对特征向量的非整数值使用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)));

0 个答案:

没有答案