-
产生随机数序列的一般方法
要产生取值为
0
,
1<
/p>
,
2
,…,
9<
/p>
的离散型均匀分布的随机数,通常的操作方法是把
10
个完全相同的乒
乓球分别标上
0
< br>,
1
,
2
,…,
9
,然后放在一个不透明的袋中,搅拦均匀后从中摸出
一球记号码后放回袋中,
接着仍将袋中的球搅拌均匀后从袋中再摸出一球记下号码后再放
回袋中,依次下去,就得到随机序列.通
常称类似这种摸球的方法产生的随机数为真正的
随机数.但是,当我们需要大量的随机数时,这种实际操
作方法需要花费大量的时间,通
常不能满足模拟试验的需要,比如教师不可能在课堂上做
10000
次掷硬币
的试验,来观察出现正面的频率.计算机可以帮助人们在很短时间产生大量
的随机数以满足模拟的需要,
那么计算机产生的随机数是用类似摸球方法产生的吗
?
不是.
计算机是用某种数学方法产生的随机
数,
实际
上是按照一定的计算方法得到的一串数,它们具有类似
随机数的性质,但是它们是依照确定算法产生的,
便不可能是真正的随机数,所以称计算
机产生的随机数为伪随机数.在模拟计算中通常使用伪随机数.对
这些伪随机数,只要通
过统计检验符合一些统计要求,如均匀性、随机性等,就可以作为真正的随机数来
使用,
我们将称这样产生的伪随机数为随机数.
在计算机上用数学方法产生随机数的一般要求如下:
1)
产生的随机数列要有均匀性、抽样的随机性、试验的独立性和前后的
一致性.
2)
产生的随机数列要有足
够长的周期,以满足模拟实际问题的要求.
3)
产生随机数的速度要快,占用的内存少.
计算机产
生随机数的方法内容是丰富的,在这里我们介绍几种方法,计算机通常是先产生
[0
p>
,
1]
区间上均
匀
分布的随机数,然后再产生其他分布的随机数.
一维均匀随机数的产生
在连续型随机
变量的分布中,
最简单而且最基本的分布是单位均匀分布。
由该
分布抽取的简单子样称,
随机数序列,
其中每一个体称为随机数
。
单位均匀分布也称为
[
0
,
1
]
上的均匀分布,<
/p>
其中
P(
·
)<
/p>
表示事件·
发
生的概率。
反之,
如果随机变量序列
ξ
1
,
ξ
2
…对于任意自然数
s
,
由
s
个元素所组成的
s
维空间上的点
(
ξ
n+1
,…
ξ
n+s
)在
Gs
上均匀分布,则它们是随机数序列。
由于随机数在蒙特卡罗方法中所处的特殊地位,它们虽然也属
于由具有已知分布的总体中产生简单子
样的问题,但就产生方法而言,却有着本质上的差
别。
一般采用某种数值计算方法产生随机数序列,在计算机上运算
来得到
.
通常是利用递推公式:
非均匀分布随机数的产生
1
.
反函数法
设连续型随机变量
Y
的概率函数为
f(x),
需产生给定分布的随机数
.
步骤
p>
:1
)产生
n
个<
/p>
RND
随机数
r1
,
r2
,…,
rn
;
2
)
p>
从等式
r
i
?
p>
?
y
i
?
?
f
(
y
)
dy
中解出
y
i
;
所得
yi ,
i=1,2,
…
,n
即所求
.
基本原理:
-
-
-
-
-
-
-
-
-
上一篇:MATLAB 概率分布函数
下一篇:PBOC密钥分散