统计数值方法:随机数生成与蒙特卡罗积分
1. 随机数生成
在计算机中生成随机数是许多数值方法的基础。由于无法直接连接抛硬币装置,目前可行的方法是通过基于数学公式的软件来生成随机数。然而,由公式生成的数并非真正的随机数,因此引入了“伪随机数”的概念,不过“伪”字通常会被省略。
1.1 乘法同余生成器
最常用的随机数生成器之一是乘法同余生成器,其公式为:
[n_{i + 1} = \lambda n_i \mod m, \quad i = 1, 2, \cdots]
其中,(\lambda) 是乘数,(m) 是模数,(n_1) 是种子。通过计算 (\lambda) 乘以当前值 (n_i) 再除以 (m) 的余数,得到后续的随机数。
例如,当乘数 (\lambda = 3),模数 (m = 11),种子 (n_1 = 1) 时,生成的随机数序列如下:
n1 = 1
n2 = remainder[(3 × 1) ÷ 11] = 3
n3 = remainder[(3 × 3) ÷ 11] = 9
n4 = remainder[(3 × 9) ÷ 11] = 5
n5 = remainder[(3 × 5) ÷ 11] = 4
n6 = remainder[(3 × 4) ÷ 11] = 1
此时,序列开始重复,循环为 (3, 9, 5, 4, 1)。
1.2 随机数生成器的讨论
显然,上述生成的序列不能被认为是从 1 到 10 的满意随机整数选择,因为缺少了 2、6、7、8 和
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



