数值方法:随机值生成与蒙特卡罗积分
1. 随机值生成
1.1 线性同余法
线性同余法是一种生成随机数的方法,其递推公式为:
[x_{i + 1} = (ax_i + c) \pmod{n}]
其中,(a) 为乘数,(c) 为增量,均为非负整数。模运算 (\pmod{n}) 表示:
[x_{i + 1} = ax_i + c - nl_i]
这里 (l_i = \lfloor(ax_i + c)/n\rfloor) 是 ((ax_i + c)/n) 中的最大正整数。通过 (x_i/n) 可得到区间 ([0, 1]) 内的值。
若随机变量 (U) 在区间 ([0, 1]) 上服从均匀分布,对于在区间 ([a, b]) 上均匀分布的随机变量 (X),其值 (x) 可通过以下变换得到:
[x = a + (b - a)u]
1.2 反演法
反演法是生成随机变量的重要方法,基于生成随机数。设随机变量 (X) 的分布函数为 (F(x)),由于 (F(x)) 是单调递增函数,其反函数 (F^{-1}(u)) 定义为满足 (F(x) = u) 的最小 (x) 值,即:
[F^{-1}(u) = \min{x : F(x) = u, 0 \leq u \leq 1}]
若随机变量 (U) 在区间 ([0, 1]) 上均匀分布,则随机变量 (X = F^{-1}(U)) 具有分布函数 (F(x))。
使用反演法生成随机变量 (X) 的值 (x) 需两个步骤:
1. 生成一个随机数,即随机变量 (U) 在区间 ([0, 1]) 上均匀分布的一个值 (u)。
超级会员免费看
订阅专栏 解锁全文

1327

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



