Matlab中的随机数生成器

时间:2014-11-02 21:02:44

标签: matlab debugging random random-sample

我使用相同的种子生成随机数字序列:

sprev = rng(2,'v5uniform');
for i=1:N
    %do some operations      
    rndIDX = randperm(sampleSize) ; 
    newdata= data(rndIDX(1:newSampleSize), :) ;
    if x>y
       remove=x1; %line 7
    end
    for l=1:M
        %do something else
        if l>xy & ~empty(remove)
           %do something related to remove
        elseif l>xy
           %do nothing
        else
           %do something not related to remove
        end
        %more code here
    end
 end

但是,当我注释掉第7行时,rndIDX会返回一个不同的数字序列,这对我来说是意想不到的。代码中可能存在某个错误,但我不确定randperm生成的序列与后面的代码之间的关系是什么。此外,如果我保持代码显示我总是得到相同的新数据,这是预期的行为。我只想在第7行发表评论并仍然获得相同的新数据。我可以确认sampleSize始终与newSampleSize完全相同。

0 个答案:

没有答案