1
问题:从40个数中随机选取30个。要求等概率,无放回抽样
Python版本
解答:
nums=random('unid',50,1,40);
mask=random('unif',0,1,1,40);
for i=1:40
if sum(mask>mask(i))==30
break
end
end
nums(mask>mask(i))
版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2017/05/19/trickMatlab.html
问题:从40个数中随机选取30个。要求等概率,无放回抽样
Python版本
解答:
nums=random('unid',50,1,40);
mask=random('unif',0,1,1,40);
for i=1:40
if sum(mask>mask(i))==30
break
end
end
nums(mask>mask(i))