谢老师,您好,我今天研究了一个关于随机采样的问题,本来以为很简单,但是matlab做出来的效果和我预期的相差很大。请指教。

问题描述,对于一个含有n个样本的样本空间,作k * n 次随机采样,k 是多少时可以保证有99.9%以上的概率含有n个样本至少出现一次?

理论出现所有元素的概率p0, p0 = 1- (1 - 1/n) ^(k*n); 当p0 > 99.9%时解出k。

模拟程序如下:

%对于随机取样的情况下需要多大的样本量可以保证99%以上的情况取到所有的样本clear;clc;

numOfElements = 20; %样本容量

factor = 7 ; %放大系数

targetMatchPct =1-(1-1./numOfElements).^(numOfElements*factor); %理论匹配系数

spaceSize = factor*numOfElements;%测试空间大小

numOfTests = spaceSize*10; %模拟次数

fprintf('Size of sample space %d, factor %d\n',spaceSize,factor);

fprintf('Number of simulations %d\n',numOfTests);

res = zeros(1,numOfTests);

for t = 1:numOfTests

randSet = randi(numOfElements,[spaceSize,1]); %产生随机样本

res(t) = numel(unique(randSet)); %随机样本中包含的总样本

end

numOfUnMatch = sum(res

unmatchPct = numOfUnMatch / numOfTests * 100.0; %实际不符合的百分比(这个值要比理论值大10~20倍)

fprintf('Unmatched percent %3.3f%%(practise) vs %3.3f%%(theorical)\n',unmatchPct,(1-targetMatchPct)*100.0);

但是,实际模拟结果,实际不符合的百分比要比理论值大10~20倍。理论值应该是0.076%,而实际值是1~2%。

请问:

1. 我的理论和模拟对马?

2. 如果正确的话,这个问题是怎样引起的?是否是因为matlab是伪随机数引起的?

非常感谢!

matlab 真假随机,Matlab 随机数是否随机的问题相关推荐

  1. matlab中怎样生成随机数——随机数生成函数rand家族

    随机数的生成在算法编程中非常常用,在matlab中rand(random的缩写)家族经常被使用. 小白一枚,敬请大神指教 rand家族成员 randMatrix = rand(x, y) randMa ...

  2. 虚数、正负无穷和NAN、随机数和随机因子、字符和字符串

    1.虚数 在matlab中用i(或j)来定义虚数部分,但有时候for循环定义变量时会占用这个字母,此时定义虚数的方法是在i(或j)前面加上数字 2.正无穷:inf,1/0 负无穷:-inf:-1/0 ...

  3. matlab编写随机数程序,【matlab编程】matlab随机数函数

    Matlab内部函数 a. 基本随机数 Matlab中有两个最基本生成随机数的函数. 1.rand() 生成(0,1)区间上均匀分布的随机变量.基本语法: rand([M,N,P ...]) 生成排列 ...

  4. matlab 随机数相同,Matlab 产生无重复随机数

    Matlab 产生无重复随机数 Matlab自带函数randperm(n)产生1到n的整数的无重复的随机排列,利用它就可以得到无重复的随机数. function p = randperm(n); %R ...

  5. R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)、randomSequence函数创建不含重复项的随机序列数据集、创建随机字符串

    R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项).randomSequence函数创建不含重复项的随机序列数据集.创建随机字符串 ...

  6. 为什么极度随机树比随机森林更随机?这个极度随机的特性有什么好处?在训练阶段、极度随机数比随机森林快还是慢?

    为什么极度随机树比随机森林更随机?这个极度随机的特性有什么好处?在训练阶段.极度随机数比随机森林快还是慢? ExtRa Trees是Extremely Randomized Trees的缩写,意思就是 ...

  7. shell 生成指定范围随机数与随机字符串 .

    shell 生成指定范围随机数与随机字符串         分类:             shell              2014-04-22 22:17     20902人阅读     评 ...

  8. python随机生成字符串_python生成随机数、随机字符串

    python生成随机数.随机字符串 import random import string # 随机整数: print random.randint(1,50) # 随机选取0到100间的偶数: pr ...

  9. 【MATLAB】数据类型 ( 矩阵 | 随机数函数 | 生成矩阵 )

    文章目录 一.矩阵 1.定义矩阵 2.转置矩阵 3.矩阵放到一列 4.逆矩阵 二.随机数函数 1.rand 随机数函数 2.randn 随机数函数 3.randi 随机数函数 三.生成矩阵 1.生成 ...

  10. random and password 在Linux下生成crypt加密密码的方法,shell 生成指定范围随机数与随机字符串...

    openssl rand -hex n (n is number of characters) LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head ...

最新文章

  1. 统计简单学_常用统计图表
  2. 用python内置函数算复杂度吗_番外篇: Python 面试感受
  3. Hadoop之ReduceTask工作机制
  4. WSO2注册表安装简介
  5. linux修改maven端口号,Linux(centos7)安装maven3.5
  6. 嵌入式开发之davinci---IPIPE、IPIPEIF and ISIF这三者有什么区别
  7. 51单片机微波炉c语言程序,基于51单片机的微波炉控制C源程序.doc
  8. Windows 7 一年试用批处理
  9. 可视化模板:销售\采购\财务收支等模板分享
  10. PHP获取当前域名(判断域名)
  11. Tomcat 8.5 HTTP 报文只返回200 不返回 OK
  12. glassfish4 linux,CentOS 6.5上安装GlassFish4.0 过程笔记
  13. 【最后有彩蛋】Pyhton接口测试手册
  14. 使用Python+selenium 视频及相关数据
  15. 编写函数求区间[200,3000]中所有的回文数, 回文数是正读和反读都是一样的数
  16. Dremel的学习与理解
  17. ubuntu挂载4T新硬盘记录
  18. 3、S32K14X学习笔记(三):MDK5/Keil5下安装恩智浦-NXP S32K11X和S32K14X系列pack包
  19. iphone4s短信云服务器,苹果的iCloud云端短信,有必要打开吗?
  20. ROS_PX4_gazebo学习记录

热门文章

  1. java 原型链_什么是原型链
  2. VMware vcenter/ESXI系列漏洞总结
  3. 【深度学习、工程实践】深度学习进行情感分析(2)--LSTM
  4. 哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级) Solution...
  5. 网站内容页面怎样优化?深度解析内容页面优化技巧
  6. Peter Thiel—初创公司的宗教模式
  7. Kaggle-泰坦尼克号项目 | 小白修炼之路的开始
  8. java ftp 教程_Java 中两种ftp操作方式
  9. 学习烂到留级,却凭着正经发表的第一篇论文,优雅斩获诺贝尔奖
  10. MFC vc_mbcsmfc.exe安装失败