蒙特卡罗模拟是一种基于随机数的计算机模拟方法
放射性衰变,噪声,多粒子系统的个体运动(表现随机)
概率密度函数:随机变量在单位区间内的概率。$f(u)du=P[u,u+du]$
分布函数:$\begin{aligned}&F(u)=\int_{-\infty}^uf(x)dx,f(u)=\frac{dF(u)}{du},f(u)du,F(u)\in[0,1]\end{aligned}$数学期望:$E\{A(u)\}=\int A(u)f(u)du$
方差:$V\{A(u)\}=E\{[A-E\{A\}]^2\}=E\{A^2\}-E\{A\}^2$
大手术定律:$\bar{A}=\lim_{n\to\infty}\frac1n\sum_{i=1}^nA(u_i)=E\{A(u)\}=\int A(u)f(u)du$,随着样本容量n的增加,样本的算术平均值将收敛于数学期望(总体平均值)。
中心极限定律:随着样本容量n趋于无穷大,样本的分布服从正态分布$N(E\{A(u)\},V\{A(u)\})$
线性同余法产生均匀分布的伪随机数:$x_{n+1}=(ax_n+b)mod(m)$,产生周期为𝑚,位于区间(0,𝑚)的伪随机数序列,其中$x_1$为随机数种子
for i in range(N):
x = (a*x+b)%m
random.append(1.0*x/m)
hist, edge = np.histogram(random,bins=20,normed='True')
##%取余数,histogram统计分布
反函数法:$F(u)=\int_{-\infty}^{u}f(x)dx$,若$\xi_n$为0,1之间均匀分布的随机数序列,则$η=𝐹^{−1}(\xi)$为满足概率密度𝑓𝑥的随机数序列。