文件名称:不放回随机样本:有重量不放回随机样本-matlab开发
文件大小:1KB
文件格式:ZIP
更新时间:2024-06-19 06:17:06
matlab
% 有重量且无替换的随机采样% O/P : 样本--> 随机样本% I/P : N--> 人口; n--> 样本量; W--> 权重向量 函数样本 = RandSampleWR(N,n,W) %% 检查if(长度(N)<=0)||(n<=0)||(长度(N)<=n) disp('人口规模和样本规模必须大于零且样本规模必须小于人口规模。') 关闭结尾如果(长度(N)~=长度(W)) disp('人口大小和权重向量大小必须相同。') 关闭结尾%% 初始化maxN = 长度(N); k = 1; W = W/sum(W(1:maxN)); %% Knuth-Fisher-Yates 抽样对于 i=n:-1:1 r1 = ceil(rand*maxN); r2 = randint; while(r2> W(r1)) r1 = ceil(rand*maxN); r2 = randint; 结尾样本
【文件预览】:
RandSampleWR.zip