科学计算机怎么生成随机数(按设定概率生成随机数—控制随机数出现几率)

导读 大家好,小柏来为大家解答以上问题。科学计算机怎么生成随机数,按设定概率生成随机数—控制随机数出现几率很多人还不知道,现在让我们一起...

大家好,小柏来为大家解答以上问题。科学计算机怎么生成随机数,按设定概率生成随机数—控制随机数出现几率很多人还不知道,现在让我们一起来看看吧!

解答:

1、 提出问题

2、 现实中,人员的学历一定不是平均分布的。例如,高新技术企业员工的学历如下:

3、 本科:40%

4、 专家:24%

5、 中专:20%

6、 以下:10%

7、 研究生:5%

8、 研究生:1%

9、 如何根据这个比例设置随机度的概率?3354控制随机数的出现概率。

10、 分析问题

11、 我们先来回顾一下随机生成学历的公式:

12、 =CHOOSE(5,‘本科学历’‘专科’‘中专’‘高中以下’‘研究生’‘博士生’)从列表中选择第5项,公式的结果为“研究生”。

13、 =CHOOSE(RANDBETWEEN(1,6),‘本科学历’‘大专’‘中专’‘高中以下’‘研究生’‘博士生’)从列表中随机选择1至6项中的一项。

14、 其中:RANDBETWEEN(1,6)根据均匀分布的机制随机生成1到6的数字。

15、 现在我们需要找到一个方法——来生成从1到6的具有设定概率的随机数,而不是RANDBETWEEN(1,6)。

16、 解决问题

17、 逛完网上的名山大川,遇到一个专家是缘分。如果你教我一条法律,你可以打破这种局面。

18、 =LOOKUP(INT(RAND()*100),{0,40,64,84,94,99},{1,2,3,4,5,6})

19、 这个公式随机生成1到6的数字,概率分别为40%、24%、20%、10%、5%和1%。——出现1的概率是40%,出现2的概率是24%,以此类推。

20、 快看。生成的数字越多,验证结果就越准确。

21、 需要说明一下,这个公式是如何把40%、24%、20%、10%、5%和1%这六个概率赋给1到6的?

22、 让我们回顾一下LOOKUP函数!这是一个几乎被遗忘的功能,仍然可以有如此大的用处。

23、 LOOKUP(lookup_value,lookup_vector,[result_vector])

24、 参数1: lookup _ value是必需的。在第一个向量中找到的值。

25、 参数2: lookup _ vector是必需的。只包含一行或一列或一维数组的区域称为第一向量,必须按升序排列。

26、 参数3: result _ vector是可选的。仅包含一行或一列或一维数组的区域称为第二向量,其大小必须与第一向量相同。

27、 函数:求第一个向量中的值,返回第二个向量中相同位置的值。

28、 如果找不到lookup_value,它将匹配第一个向量中小于lookup_value的最大值。

29、 公式说明:

30、 =LOOKUP(INT(RAND()*100),{0,40,64,84,94,99},{1,2,3,4,5,6})

31、 INT(RAND()*100随机生成1-99的值,其中:

32、 生成0-39的概率为40%,与向量一中的0匹配,输出1;

33、 生成40-63的概率为24%,与向量一中的40匹配,输出2;

34、 生成64-83的概率为20%,与向量一中的64匹配,输出3;

35、 生成84-93的概率为10%,与向量一中的84匹配,输出4;

36、 生成94-98的概率为5%,与向量一中的94匹配,输出5;

37、 生成99的概率为1%,与向量一中的99匹配,输出6。

38、 现在,让我们回到第2步,替换原始公式中的RANDBETWEEN(1,6),形成以下公式:

39、 =choose (lookup (int (rand () * 100),{0,40,64,84,94,99},{1,2,3,4,5,6}),'本科','专科','中专','高中以下'

40、 可以直接复制这个公式,根据需要调整数值。

41、 祝你有愉快的一天!

本文到此讲解完毕了,希望对大家有帮助。