我经常看到这个错误,建议用一个给定的和来产生随机数,只是使用一个统一的随机集合,然后对它们进行缩放。 但是如果你这样做的话,真的是一致的随机结果吗?

尝试在两个维度这个简单的测试。 生成一个巨大的随机样本,然后将它们缩放到总和为1.我将使用bsxfun来进行缩放。

xy = rand(10000000,2); xy = bsxfun(@times,xy,1./sum(xy,2)); hist(xy(:,1),100)

如果它们是真正一致的随机数,那么x坐标将是一致的,y坐标也是一样的。 任何价值都可能发生。 实际上,对于总计为1的两点,它们必须位于连接(x,y)平面中两点(0,1),(1,0)的线上。 为了统一点,沿着这条线的任何点必须是相同的可能性。

当我使用缩放解决方案时,显然一致性失败。 这条线上的任何一点都不可能。 我们可以看到同样的事情发生在三维。 在三维图中可以看到,三角形区域中心的点更密集。 这是不一致的反映。

xyz = rand(10000,3); xyz = bsxfun(@times,xyz,1./sum(xyz,2)); plot3(xyz(:,1),xyz(:,2),xyz(:,3),'.') view(70,35) box on grid on

再次,简单的缩放解决方案失败。 它不会在感兴趣的领域产生真正一致的结果。

我们可以做得更好吗? 嗯,是。 二维简单的解决方案是生成一个单一的随机数,指定沿着连接点(0,1)和1,0)的直线距离。

t = rand(10000000,1); xy = t*[0 1] + (1-t)*[1 0]; hist(xy(:,1),100)

可以看出,单位平方的方程x + y = 1所定义的直线上的任何一点现在都可能被选择。 这反映了漂亮,平坦的直方图。

大卫·施瓦茨(David Schwartz)在n维方面提出的排序技巧? 很显然,它在二维情况下是如此,下图表明它在三维情况下是如此。 如果没有深思熟虑的话,我相信它将在这个有n个层面的基本案例中起作用。

n = 10000; uv = [zeros(n,1),sort(rand(n,2),2),ones(n,1)]; xyz = diff(uv,[],2); plot3(xyz(:,1),xyz(:,2),xyz(:,3),'.') box on grid on view(70,35)

也可以从文件交换器Roger Stafford的贡献中下载函数randfixedsum 。 这是一个更一般的解决方案,在单位超立方体中生成真正一致的随机集,并给定固定和。 因此,为了产生位于单位3立方体中的随机点集合,根据约束它们总和为1.25 …

xyz = randfixedsum(3,10000,1.25,0,1)'; plot3(xyz(:,1),xyz(:,2),xyz(:,3),'.') view(70,35) box on grid on

matlab 加随机数,随机数加上100:Matlab相关推荐

  1. matlab数组第1到100,MATLAB数组的排列

    1 取A的第一行到第十行并另外开辟一个矩阵B存储这十行变量 >> A=magic(15); >> B=A(1:10,:) B = 122 139 156 173 190 207 ...

  2. MATLAB中生成随机数方法总结

    好久没用MATLAB了,今天在利用MATLAB进行数据处理时,突然发现自己忘记了该如何产生自己需要的随机数形式,于是又查了一通资料.现对其进行一个简单的总结,供自己和大家以后参考: 1. randi ...

  3. matlab 随机数有效数字,MATLAB中生成随机数方法总结

    好久没用MATLAB了,今天在利用MATLAB进行数据处理时,突然发现自己忘记了该如何产生自己需要的随机数形式,于是又查了一通资料.现对其进行一个简单的总结,供自己和大家以后参考: 1. randi ...

  4. MATLAB中的随机数

    MATLAB中的随机数真的把我搞烦了,索性就系统整理下 randi : 产生均匀分布的伪随机整数 %产生一个1至10之间的随机矩阵,大小为2x5: s1 = randi(10,2,5); rand: ...

  5. matlab卡方分布的随机数,MATLAB产生随机数

    (1)用计算机产生的是"伪随机数".用投色子计数的方法产生真正的随机数 , 但电脑若也这样做 , 将会占用大量内存 ; 用噪声发生器或放射性物质也可产生真正的随机数 , 但不可重复 ...

  6. vba控制matlab,Matlab加VBA在实验室内质量控制中的应用(南京)

    实现实验室内质量控制图的绘制 MATLAB加VB实现实验室内质量控制图的绘制 韩波1 , 孙利1 , 黄勇2 (1.北海市环境监测中心站, 北海536000: 2.北海市环境信息中心, 北海53600 ...

  7. java一个整数加100是完全平方_Java计算一个数加上100是完全平方数,加上168还是完全平方数...

    题目:一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少? 程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足 ...

  8. matlab 确定参数 一钓鱼俱乐部,Matlab常用命令{1}.doc

    如何画三维图形? 考虑一个二元函数,如何用三维图形来表现这个曲面呢? >>[x,y] = meshgrid(-3:1/8:3); 生成网格线 meshgrid (X)=meshgrid(X ...

  9. 线性正切制导 matlab编程实现,数学建模之MATLAB编程

    EverydayOneCat ✖️N 「Sushi shop!」 知识点 1.下载 链接:https://pan.baidu.com/s/1DbfysOOwIoSvt8HQUw0jhw 提取码:75m ...

  10. matlab的上机报告,数理统计和Matlab上机报告.doc

    数理统计和Matlab上机报告.doc 统计分析软件(matlab)实验报告1序号班级姓名学号日期时间地点信计1302张温柔4136309620150706实验楼102指导教师李娜实验名称1. mat ...

最新文章

  1. Rectangular inference 矩形推理
  2. python操作excel和txt文件
  3. 国产操作系统要起来,这款Linux是你的菜吗?
  4. 用lsb_release -a 查看linux版本
  5. jmu-python-函数-找钱_6-1 jmu-python-杨辉三角
  6. 管螺纹如何标注_外螺纹、内螺纹的画法,非标准螺纹的画法,你还会画吗?
  7. GBase 数据库用户的最大连接数限制
  8. 《指数基金投资指南》读书笔记
  9. 加州大学洛杉矶分校计算机硕士学费,美国加州大学洛杉矶分校计算机科学硕士.pdf...
  10. mybatis之 trim prefix=( suffix=)
  11. matlab中complex,complex_-complex在C语言中是什么意思呀!
  12. Flash和JS实现的图片幻灯片切换特效
  13. Jsp实现注册登录以及忘记找回密码等操作(上)
  14. 关于DVDScr, Screener,TS, TC等常见术语
  15. mac下使用docker部署artipub,实现多平台管理,一键同步、一文多发
  16. 搜狗推送接口之搜狗收录怎么做?
  17. 适合养在办公室的18种植物
  18. 理论十二:如何通过封装、抽象、模块化、中间层等解耦代码?
  19. 从校园到职场,很抱歉,世界并不按你的计划前进
  20. 公务员备考(八) 行测 资料分析

热门文章

  1. OpenCV-图像处理(27、模板匹配(Template Match))
  2. 计算机网络南京邮电大学,南京邮电大学计算机网络.docx
  3. mysql2018漏洞_MySQL多个远程安全漏洞CVE-2018-2562/91 大批版本受影响
  4. Unbuntu 出现无法解析或打开软件包的列表或是状态文件的解决办法
  5. 机器学习算法-异常值检测(outlier),30 亿个雅虎账户被黑客入侵?
  6. 滚动率分析(Roll Rate Analysis)
  7. php中级联,php级联
  8. dat关闭某进程_电脑程序卡住怎么办?结束进程只需要这三个键
  9. catalina 无法验证macos_拿什么拯救你,我的macOS Catalina——完整版补救措施来啦...
  10. 图像空域增强:直方图方法