优胜从选择开始,我们是您最好的选择!—— 中州期刊联盟(新乡市博翰文化传媒有限公司)
0373-5939925
2851259250@qq.com
我要检测 我要投稿 合法期刊查询
您的位置:网站首页 > 优秀论文 > 正文

计算机中的随机函数-计算机论文发表

作者:中州期刊来源:原创日期:2011-11-08人气:1005

摘要:随机函数是计算机科学数学函数中较难理解和使用的一个,本文根据教学实践谈谈对随机函数及其应用的认识和体会。

一、随机数与随机函数的概念

所谓随机数(Random)是指事先不能确定的数,只有当相应的事件发生后其值才能确定。自然界和社会生活中存在着大量的随机现象和随机事件。臂如,抛5分钱硬币,我们事先不能确定结果是正面朝上还是反面朝上,只有当钱币被抛下后,我们才知道是正面朝上还是反朝上。

既然事先不能确定随机数的值,那么这样说来,随机数是不是就不可捉摸了呢?答案是否定的。经过大量观察和科学试验发现,随机数是有规律可循的,它遵循两条规律:①有一定的取值范围。抛硬币的结果无非是正面或反面朝上,不会出现在这之外的结果,也就是取值范围是{X|X=“正面” OR  X=“反面”}。②当大量发生时随机数的分布是均匀的。当我们抛硬币的次数较少时,统计出的出现“正面”和“反面“的次数会相差较大,但当抛下的次数较大(如抛下10000次)时,统计出的出现“正面”和“反面“的次数会相差较小,我们可以组织学生进行这样的有趣试验。有试验表明当抛下10000次时,“正面”和“反面”各出现4978次和5022次,与均匀数字10000/2(5000)相差22,占0.44%(22/5000),从图1直观地看代表“正面”和“反面”的两根数据条一样高,达到了“均匀”。

计算机中,采用模拟的方法运用随机函数产生随机数。不同的计算机软件产生的随机数方式、函数名有所不同,但都遵循随机数的上述两条规律。

例如,在EXCEL中,随机函数RAND()产生的随机数满足:①0≤RAND()<1 即取值范围为[0,1)。 ②当大量调用时产生的随机数均匀分布。

参照图2。图2中的数据来源于表1。当产生的随机数是4行、11列共44个(4*11)时,从相应的图表可直观地看出数据的分布不均匀。

当产生的随机数扩展到73行、11列共803个(73*11)时,从相应的图3可直观地看出数据呈均匀分布状态。可以预测数据俞多,其分布俞均匀。

 

表1  4行*11列共44个随机数

0.90

0.74

0.98

0.28

0.07

0.61

0.84

0.53

0.83

0.36

0.66

0.79

0.37

0.20

0.53

0.59

0.01

0.72

0.44

0.03

0.64

0.88

0.52

0.45

0.52

0.90

0.56

0.13

0.62

0.46

0.56

0.86

0.64

0.54

0.94

0.89

0.55

0.56

0.11

0.09

0.02

0.52

0.80

0.59

 

掌握了随机数和随机函数的规律,我们就可以运用计算机解决许多实际问题,如随机抽取试题、考试选题单的制作、随机摇号、数学测试题、游戏中的随机事件等等。

二、随机函数的应用

示例  创建一个命名为MR.XLS的EXCEL文档,在其中创建一个名为MR的宏,快捷键为CTRL+SHIFT+R,功能为产生一个三位整数。

分析:问题的实质就是要构造一个数学式子,产生整数区间[100,1000)。EXCEL提供了随机函数RAND()。因为0≤RAND()<1,所以左中右三边同乘(1000-100),得到:0*(1000-100)≤(1000-100)* RAND()<1*(1000-100),即0≤(1000-100)* RAND()<1000-100。从而,不等式左中右三边同时加100,得到:100≤100+(1000-100)* RAND()<1000。所以INT(100+(1000-100)* RAND())即达到问题的要求。

操作步骤(采用EXCEL2003):

第一步:打开EXCEL,新建工作薄,保存为MR.XLS。

第二步:选择“工具”菜单,从弹出的菜单中选中“宏”,再从中选择下一级菜单“录制新宏”,进入“录制新宏”会话框。

第三步:在“录制新宏”会话框中设置各参数:宏名为“MR”,快捷键为CTRL+SHIFT+R,保存在为“当前工作薄”,选择“确定”,进入宏录制现场。

第四步:在当前单元格中输入“= INT(100+(1000-100)* RAND())”。

第五步:选择宏录制工具条上“停止”按钮。整个录制工作结束。

高级程序设计语言中随机数函数的使用关键常涉及到区间构造问题。一般地,区间[a,b)可以通过如下式子得到:a+(b-a)* RAND()。其中, a是区间的起点,b是区间的终点,b-a 是区间的长度。要得到整数区间[a,b),用以下式子可得:INT(a+(b-a)* RAND())。具体例子不再赘述。

网络客服QQ: 沈编辑

投诉建议:0373-5939925    投诉建议QQ:

招聘合作:2851259250@qq.com (如您是期刊主编、文章高手,可通过邮件合作)

地址:河南省新乡市金穗大道东段266号中州期刊联盟 ICP备案号:豫ICP备2020036848

【免责声明】:中州期刊联盟所提供的信息资源如有侵权、违规,请及时告知。

版权所有:中州期刊联盟(新乡市博翰文化传媒有限公司)

关注”中州期刊联盟”公众号
了解论文写作全系列课程

核心期刊为何难发?

论文发表总嫌贵?

职院单位发核心?

扫描关注公众号

论文发表不再有疑惑

论文写作全系列课程

扫码了解更多

轻松写核心期刊论文

在线留言