21、统计数值方法与随机数生成及蒙特卡罗积分

随机数生成与蒙特卡罗积分

统计数值方法与随机数生成及蒙特卡罗积分

1. 随机数生成

在计算机中,生成随机数是一个重要的需求。由于无法直接连接抛硬币装置,通常采用基于数学公式的软件来生成随机数。但通过公式生成的数并非真正的随机数,因此引入了“伪随机数”的概念,不过“伪”字常被省略。

构建生成伪随机数的公式的关键在于生成看起来像随机的序列。许多公式都曾被尝试,但最终发现它们会退化为相对较短的重复模式。任何公式最终都会回到起点,所以目标是让这个循环(周期)足够大,在实际应用中可视为无限长。虽然这种方案排除了周期内的重复,这与真正的随机序列有所不同,但这种不足被认为是可以接受的。

最流行的随机数生成器是乘法同余生成器,其公式为:
[n_{i + 1} = \lambda n_i \mod m, \quad i = 1,2,…]
其中,(\lambda) 是乘数,(m) 是模数,起始值 (n_1) 是种子。后续的值通过计算 (\lambda) 乘以当前的 (n_i) 再除以 (m) 的余数得到。

例如,使用乘数为 3、模数为 11 和种子为 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,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值