当前位置:首页 >> 数学 >>

第五章 蒙特卡洛方法(一)


第五章 蒙特卡洛方法
1 蒙特卡罗方法简介

2

蒙特卡洛积分

5.1 蒙特卡罗方法简介
什么是蒙特卡罗方法?
一般来说,涉及到随机性的模拟方法都可称之为蒙特卡罗方 法。通常也称为统计模拟方法。 蒙特卡罗方法的名字来源于摩纳哥的一个城市蒙特卡罗,该城

市以赌博业闻名。

我们能用它来做什么?
?自然界中有的过程本身就是随机的过程,物理现象中如粒子 的衰变、粒子在介质中的输运过程等,城市里的交通,传染 病的传播。 ?蒙特卡罗方法也可借助概率模型来解决不直接具有随机性的 确定性问题。

应用的领域
除了在物理学及相关自然科学中的应用外,蒙特卡罗方法广

泛的应用于社会学、金融等诸多领域。

随机性的例子——交通流模型

不具随机性的一个例子: 巴夫昂投针实验(1777年)

该试验方案是:在平滑桌面上划
一组相距为 s 的平行线,向此桌 面随意地投掷长度 l= s 的细针, 那末从 针与平行线相交的概率就 可以得到 π 的数值。

一些实验结果

实验者 沃尔弗(Wolf)

年份 1850

投计次数 5000

π的实验值 3.1596

斯密思(Smith)
福克斯(Fox) 拉查里尼 (Lazzarini)

1855
1894 1901

3204
1120 3408

3.1553
3.1419 3.1415929

不具随机性的另一个例子——定积分
构造一个将积分区域包围起来的 矩形 [a, b]ⅹ[0, y0] 。然后 随机 的在矩形内撒 N 个点,假设其

中有 N0 个点落在积分线的下方,
则积分为

定积分的另外一种算法
在区间 [a, b] 内随机的撒 N 个
点, 则 f(x) 在该区间内的积分可 写为

这就是用蒙特卡罗方法计算定积分的基本思想。

随机数的分类
真随机数
生成方法:随机的物理过程,例如: 掷骰子 计算机芯片中电子的热涨落( 一微秒一个) 辐射衰变

缺点:速度慢、不可复制、昂贵
用途: 例如信息安全领域(密码) 显然,真随机数满足不了计算物理的模拟的需要。

赝随机数
赝随机数是用确定性的算法生成的随机数。

赝随机数的生成方法——线性同余方法
一般公式为

其中 r1 称为种子。
例子:

得到如下一列数

将其转化为 [0, 1] 之间的随机数(除以 9 )

如果需要得到 [A, B] 之间的随机数,可作如下变换

随机数序列在 [0, M-1] 之间,所以周期最多为 M 。 为了获得具有更大的周期的随机数列,尽可能取大的 M。

考虑到计算机的位数限制,32 位机器整数的取值范围为
[-231, 231-1], M 通常取为

Matlab中的随机函数
rand 函数——生成 [0, 1] 之间的随机实数 ① 0个参数:rand

② 1个参数:rand(3),表示生成一个3 Х 3的随机数方阵。
③ 2个参数:rand(2, 3),表示生成一个2 Х 3的随机数矩阵 ④ rand(method, s), 参数 method 表明生成随机数的算 法,可取‘twister’, ‘state’, ‘seed‘ 三个值, s 一般取正整数。

例子:热力学的平衡态

密闭的盒子中间用隔板分为两半,隔板上有一小洞,假设开始 时共有 N 个 分子, 都在左边,每次随机的取一个分子穿过隔 板,经过足够长的时间,两边的分子数将趋于相等。

随机行走
为什么要研究随机行走?
随机行走跟物理学的关系,就像果蝇跟遗传学的关系。 ? 随机行走是很多物理问题的简化模型,例如扩散、聚合物 的生长等。 ?从方法论上来说,在随机行走问题中,会遇到统计力学问 题数值求解固有的许多困难。 懂得对这个问题的数值处理, 对于普遍理解数值模拟物理学的工作过程大有好处。

随机行走的算法实现
计算随机行走的端距作为步数的函数

行走者走的步数为 N。行走样本数目为 n-of-samples。
for sample = 1:n_of_samples for step = 1:N Generate-one-step (产生一步) end Accounulate-results (累计结果) end

要求:

1. 写出随机行走的 matlab 程序。
2. 运行程序,画出端距方<RN2>和行走步数 N 的函数关系。


赞助商链接
相关文章:
更多相关标签: