查看: 2184|回复: 4|关注: 0

[已答复] 随机产生两个数(1或者10),要求产生1和10的个数相等

[复制链接]

新手

5 麦片

财富积分


050


5

主题

5

帖子

0

最佳答案
发表于 2016-11-25 11:43:38 | 显示全部楼层 |阅读模式
如题,在网上找了一下, alphabet = [1 10]; prob = [0.5 0.5];randsrc(6,1,[alphabet; prob])
但是自己试了并不满足,1的数量和10的数量相等,求解惑????????各位大神

回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

中级

529 麦片

财富积分


5001500


0

主题

3542

帖子

121

最佳答案
  • 关注者: 70
发表于 2016-11-25 12:09:49 | 显示全部楼层
有一个简单的办法,你先生成相同个数的1和10
然后将顺序随机排序,这样的随机分布就满足你的要求了
因为1和10的个数一样多,所以概率自然是0.5
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

权威

9190 麦片

财富积分



11

主题

1万

帖子

1996

最佳答案
  • 关注者: 591
发表于 2016-11-25 12:16:33 | 显示全部楼层
本帖最后由 jingzhaos 于 2016-11-25 12:24 编辑

你可以这么做
  1. A=randerr(1,20,10)
  2. A(A==0)=10
复制代码

也可以这么做
  1. A=bsxfun(@times,[1,10],ones(1,10)').  %or.   A=repmat([1,10],10,1)
  2. A=A(randperm(20))
复制代码

回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

入门

252 麦片

财富积分


50500


1

主题

298

帖子

57

最佳答案
  • 关注者: 5
发表于 2016-11-25 18:41:07 | 显示全部楼层
生成10个范围为1或者10的随机数,概率都为0.5

  1. randsrc(1,10,[1 10;0.5 0.5])
复制代码
回复此楼 已获打赏: 0 积分

举报

新手

8 麦片

财富积分


050


3

主题

9

帖子

0

最佳答案
发表于 2020-5-23 16:51:50 | 显示全部楼层
根据此函数的运行结果,我在想:是不是因为生成的样本数量太少,导致数据不符合要求???进行多次运算发现:会生成复合要求的数据。每次运行结果都不一样。
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表