随机函数算法及注意事项分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

总体 来说 , 当需 要 一 系列 随 机 数 的 时 候 , r a n d ( ) 和 s r a n d ( ) 这二 个 函数 的工 作过程 如下 : ( 1 ) 给 s r a n d ( ) 提供 一 个 种 子 , 它是一个 u n s i g n e d i n t 类型 , 其取值 范 围从 0~ 6 5 5 3 5 ; ( 2 ) 调用 r nd a ( ) , 它会根据提供给 s r a n d ( ) 的 种 子 值 返回一个随机数 , 其值在 0 ~ 3 2 7 6 7 之间; ( 3 ) 根据实际需要多次调用 r a n d ( ) , 从而不问断地得 到新 的随机数 。 在 这里必 须注意 的是 r a n d ( ) 函数在 运行 中会返 回一 随机数值 , 范 围在 0至 R A N D . M A X 间。 R A N D — M A X定 义 在s t  ̄ i b . h , 其值为 2 1 4 7 4 8 3 6 4 7 。在调用此函数产生随机
Βιβλιοθήκη Baidu
需要样 品抽取这 一环节 。抽样 检验 国家标 准 G B / T一 2 8 2 8 一直是抽样工作 的重要依据。 目前 , 抽样工作 中用 的随机数是靠骰子获得 , 在 电子产品极大丰富的今天, 必 将有越来越多 的针对样 品抽取工作的电子设备。本文意 在讨 论 常用 的随 机数生 成方 法及 设备 软件 编程上应 该 注 意 的实质 问题 。 般来说 , 电子设备 的内核都是各种芯片, 而这些芯 片都是可编程 的。C语言是最常用 的芯片编程语言。本
有了前面的介绍 , 下面对 比两个随机数发生程序 , 它 们都产生介于 l 到1 0 间 的随机数值。区别在于一个是 伪随机函数 , 一个是随机 函数。如下所示 :
#i n c l u d e<s t d l i b. h>
在 C语 言编 程环 境 中 , 还提 供 了 s r a n d ( ) 函数 , 它 的
原形是 v o i d s r a n d ( i n t a ) 。既然有 了变量 a , 我们再使用 T i m e ( ) 函数做种子。那最简单的非伪随机序列可以这么 设计 :
s t a n d ( ( u n s i g n ) ( t i m e ( N U L L ) )
李 楠 王 举
( 东北大学 ; 沈 阳产品质量监督检 验院 , 辽宁 沈阳 1 1 1 X ) 2 2 )
摘 要: 本文介绍了 c 语言编程环境下随机函数的算 法和使用 , 重点描述随机数产 生过程 , 并 分析了伪随机 函数产生 原因 , 对仪器开发人员 设计 随机
数产生有一定帮助。
即: Y= +b ( m o d" 1 )
数前 , 必须先利用 s t a n d ( ) 设好随机数种子 , 如果未设 随 机数种子, r a n d ( ) 在调用时会 自动设随机数种子为 1 。返 回0 至R AN D . M A X之间的随机数值。 4 随机 函数产 生程序 随机 函数 程序范例 如下 :

文主要讨论 c语言的随机数产生函数的算法 , 重点区分 随机 函数 和伪 随机 函数 。
2 C语 言 常用 随机 函数 的算 法 在 以 C语 言为基 础 的各 种编 程 环境 中 , 最 常 见 的 随 机 函数是 “ R a n d ( ) 函数 ” 。 它本 质 上 是 利用 线 性 同余 法 ,

然 也就 不 随机 了 , 这是 最 需要 注意 的地方 。
s t nd a ( ( u n s i g n e d ) t i m e ( N U L L ) ) ; / / 种子是系统时间 f o r ( i =O ; i <i 0 ; i + +) / 出1 0个 随机数 p i f n f ( %d\ n , , , r a n d ( ) ) ; } 5 伪 随机 函数和 随机 函数 的区别
李楠 等 : 随机 函数 算法及 注意事项分析
随机 函数 算 法 及 注意 事 项分 析
R a n d o m F u n c t i o n A l g o r i t h m a n d A n a l y s i s o f A t t e n t i v e I t e ms

被称为 s e e d , 通 俗 的 叫法是 “ 种子” 。“ 种子” 需 要 程

i n t i ;
序中设定 , 也正是这个原 因, 直接利用 r a n d ( ) 函数来产生 随 机数 , 并不 是 真正 意 义 上 的 随机 数 , 是 一 个伪 随机 数 , 是根据这个“ 种子” 为基准 , 以某个递推公式推算出来 的 系数 , 从 而相 当 于产 生 了随 机数 。但 它不 是 真 正 的随 机数 , 当系统启动后 , 这个“ 种子” 的值是定了 , 随机数 自
关键词 : 随机 函数 ; 抽样 ; 伪随机
l 概 述
随着 中国经济的不断发展 , 对样 品的抽取工作越来
越显 得重 要 。对 政府 部 门而 言 , 如 质 检 系统 、 工 商 系统 、 海关 进 出 口检验 等都 需要 对各类 产商 品进 行抽样 。对 企 业 而言 , 原料 采 购验 收 、 产 品质量 控制 及产 品 出场 检验 都
#i n c l u d e<s t d l i b. h>
#i n c l u d e< s t d i o. h>
#i n c l u d e <t i m e . h >/ / 时钟 函数生成 种子
v o i d m a i n ( v o i d )
其中 : a, b , m 都 是 常 数 。因 此 r a n d的产 生 决 定 于
相关文档
最新文档