美文网首页
matlab选择随机不重复n个样本

matlab选择随机不重复n个样本

作者: 吵吵人 | 来源:发表于2019-07-31 15:22 被阅读0次
    function s = sampling(R, n)
    % 选择抽样,R为记录集合,n为抽取的样本数 
    N = length(R);
    t = 0;   % 处理过的记录总数
    m = 0;   % 已选得的记录数 
    while m<n
        U  = rand;
        if (N-t)*U < n-m %不是很懂
            m = m + 1;
            s(m) = R(t+1);
        end
        t = t + 1;
    end
    

    sampling函数返回选中的n个随机数

    rname='Day1_Var5.xlsx';
    wname='Corr_1000.xlsx';
    N=1000;
    
    %读数据,抽取样本
    A = xlsread(rname);  
    nsam=sampling(1:length(A),N);
    sam=A(nsam,:);
    
    %写数据,但是没有表头
    xlswrite(wname,sam);  
    

    通过返回的下标筛选数据

    相关文章

      网友评论

          本文标题:matlab选择随机不重复n个样本

          本文链接:https://www.haomeiwen.com/subject/gwhtdctx.html