蒙特卡洛算法解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
破坏.为躲避我方打击,敌方对其阵地进 行了伪装并经常变换射击地点. 经过长期观察发现,我方指挥所对敌方目 标的指示有50%是准确的,而我方火力单 位,在指示正确时,有1/3的概率能毁伤敌 人一门火炮,有1/6的概率能全部消灭敌人
现在希望能用某种方式把我方将要对敌人 实施的1次打击结果显现出来,利用频率稳 定wenku.baidu.com,确定有效射击(毁伤一门炮或全部消 灭)的概率
1.1用蒙特卡洛方法进行计算机模拟的步 骤
[1] 设计一个逻辑框图,即模拟型.这 个框图要正确反映系统各部分运行时 的逻辑关系。
[2] 模拟随机现象.可通过具有各种概 率分布的模拟随机数来模拟随机现 象.
1.2产生模拟随机数的计算机命 令
在Matlab软件中,可以直接产生满足各种 分布的随机数,命令如下:
分析: 这是一个复杂概率问题,可以通过理 论计算得到相应的概率.
1. 问题分析 需要模拟出以下两件事:
[1] 观察所对目标的指示正确与否
模拟试验有两种结果,每一种结果出现的概 率都是1/2.
因此,可用投掷一枚硬币的方式予以确定, 当硬币出现正面时为指示正确,反之为不正 确.
[2] 当指示正确时,我方火力单位的射击结果 情况
模拟试验有三种结果:毁伤一门火炮的可能性 为1/3(即2/6),毁伤两门的可能性为1/6,没能毁 伤敌火炮的可能性为1/2(即3/6).
这时可用投掷骰子的方法来确定: 如果出现的是1、2、3三个点:则认为 没能击中敌人;
如果出现的是4、5点:则认为毁伤敌人 一门火炮;
若出现的是6点:则认为毁伤敌人两门火 炮.
floor(x) : 不超过 x 的最大整数 ceil(x) : 不小于 x 的最小整数 round(x) : 四舍五入取整
1.两1人约定于12点到1点到某地会面,先到 者等20分钟后离去,试求两人能会面的概 率?
解:设x, y分别为甲、乙到达时刻(分钟) 令A={两人能会面}={(x,y)||x-y|≤20, x≤60,y≤60} P(A)=A的面积/S的面积 =(602-402)/602=5/9=0.5556
产生一个均值为 ,标准差的正态分布的随机数: normrnd ( , )
4.产生 m n 阶期望值为 的指数分布的随机数矩阵:
exprnd (,m, n )
f
(
x)
1
e x /
0
x0 x0
其中 >0为常数,则称X服从参数为 的指数
分布。期望为
产生1个参数为n,p的二项分布的随机数 binornd(n,p),产生mn个参数为n,p的二项 分布的随机数binornd(n,p,m,n)
蒙特卡洛算法解析
* 蒙特卡洛算法解析
1.蒙特卡洛方法初探 2.综合知识的提升 3.结合例题练习 4.*作业模拟题训练 5.*有关赛题和资料
1.蒙特卡洛方法初探
蒙特卡洛(Monte Carlo)方法是一 种应用随机数来进行计算机模拟的 方法.此方法对研究的系统进行随 机抽样观察,通过对样本值的统计 分析,求得所研究系统的某些参 数.
1.产生m*n阶(a,b)均匀分布U(a,b)的随 机数矩阵: unifrnd (a,b,m, n); 产生一个[a, b]均匀分布的随机数:unifrnd (a,b)
2.产生mm*nn阶离散均匀分布的随机数矩阵:
R = unidrnd(N) R = unidrnd(N,mm,nn)
3.产生 m n 阶均值为 ,标准差为 的正态分布的随机数矩阵: normrnd ( , ,m, n)
从数值上模仿实际系统的动态行为。
仿真过程
1. 现实系统的分析: 了解背景,明确目的,提出总体方案。 2. 组建模型: 确定变量, 明确关系, 设计流程,编制程序 3. 运行检验: 确定初始状态,参量数值, 运行程序,检验结果,改进模型。 4. 输出结果
fix(x) : 截尾取整,直接将小数部分舍 去
随机数rand及其相关用法 rand %产生0~1的一个随机数; rand(n) %产生0~1的n*n的矩阵; rand(m,n)% 产生0~1的m*n的矩阵;
2.综合能力的提升
系统仿真(Simulation) 1. 系统仿真:使用计算机对一个系统
的结构和行为进行动态模拟。 为决策提供必要的参考信息。 特点:对象真实、复杂,进行模仿。 2. 仿真模型:由计算机程序控制运行
2. 符号假设
i:要模拟的打击次数; k1:没击中敌人火炮的射击总数; k2:击中敌人一门火炮的射击总数; k3:击中敌人两门火炮的射击总数. E:有效射击(毁伤一门炮或两门炮)的概率
function proguji=liti(mm) frq=0; randnum1=unifrnd(0,60,mm,1); randnum2=unifrnd(0,60,mm,1); randnum=randnum1-randnum2; proguji=0; for ii=1:mm
if abs(randnum(ii,1))<=20 frq=frq+1;
P
g的面积 G的面积
1 2
sin d
0
a
2l
a
2
实验者 沃尔弗 斯密思 福克斯 拉查里尼
年份 投计次数
1850 1855 1894 1901
5000 3204 1120 3408
π的实验值 3.1596 3.1553 3.1419
3.1415929
例: 在我方某前沿防守地域,敌人以一个炮排
(含两门火炮)为单位对我方进行干扰和
end end proguji=frq/mm
liti(10000) proguji = 0.5557
3.例题训练
例1 :蒲丰氏问题
为了求得圆周率π值,在十九世纪后期,有很多
人作了这样的试验:将长为l的一根针任意投到
地面上,用针与一组相间距离为a( l<a)的平
行线相交的频率代替概率P,再利用准确的关系
式:
P 2l
a
求出π值: 2l 2l ( N )
aP a n
其中N为投计次数,n为针与平行线相交次
数。这就是古典概率论中著名的蒲丰氏问 题。
分析知针与平行线相交的充要条件是:
x 1 sin
2
其中:0 x a ,0 π
2
建立直角坐标系 (, x,) 上述条件在坐标系下将是曲
线所围成的曲边梯形区域。由几何概率知:
现在希望能用某种方式把我方将要对敌人 实施的1次打击结果显现出来,利用频率稳 定wenku.baidu.com,确定有效射击(毁伤一门炮或全部消 灭)的概率
1.1用蒙特卡洛方法进行计算机模拟的步 骤
[1] 设计一个逻辑框图,即模拟型.这 个框图要正确反映系统各部分运行时 的逻辑关系。
[2] 模拟随机现象.可通过具有各种概 率分布的模拟随机数来模拟随机现 象.
1.2产生模拟随机数的计算机命 令
在Matlab软件中,可以直接产生满足各种 分布的随机数,命令如下:
分析: 这是一个复杂概率问题,可以通过理 论计算得到相应的概率.
1. 问题分析 需要模拟出以下两件事:
[1] 观察所对目标的指示正确与否
模拟试验有两种结果,每一种结果出现的概 率都是1/2.
因此,可用投掷一枚硬币的方式予以确定, 当硬币出现正面时为指示正确,反之为不正 确.
[2] 当指示正确时,我方火力单位的射击结果 情况
模拟试验有三种结果:毁伤一门火炮的可能性 为1/3(即2/6),毁伤两门的可能性为1/6,没能毁 伤敌火炮的可能性为1/2(即3/6).
这时可用投掷骰子的方法来确定: 如果出现的是1、2、3三个点:则认为 没能击中敌人;
如果出现的是4、5点:则认为毁伤敌人 一门火炮;
若出现的是6点:则认为毁伤敌人两门火 炮.
floor(x) : 不超过 x 的最大整数 ceil(x) : 不小于 x 的最小整数 round(x) : 四舍五入取整
1.两1人约定于12点到1点到某地会面,先到 者等20分钟后离去,试求两人能会面的概 率?
解:设x, y分别为甲、乙到达时刻(分钟) 令A={两人能会面}={(x,y)||x-y|≤20, x≤60,y≤60} P(A)=A的面积/S的面积 =(602-402)/602=5/9=0.5556
产生一个均值为 ,标准差的正态分布的随机数: normrnd ( , )
4.产生 m n 阶期望值为 的指数分布的随机数矩阵:
exprnd (,m, n )
f
(
x)
1
e x /
0
x0 x0
其中 >0为常数,则称X服从参数为 的指数
分布。期望为
产生1个参数为n,p的二项分布的随机数 binornd(n,p),产生mn个参数为n,p的二项 分布的随机数binornd(n,p,m,n)
蒙特卡洛算法解析
* 蒙特卡洛算法解析
1.蒙特卡洛方法初探 2.综合知识的提升 3.结合例题练习 4.*作业模拟题训练 5.*有关赛题和资料
1.蒙特卡洛方法初探
蒙特卡洛(Monte Carlo)方法是一 种应用随机数来进行计算机模拟的 方法.此方法对研究的系统进行随 机抽样观察,通过对样本值的统计 分析,求得所研究系统的某些参 数.
1.产生m*n阶(a,b)均匀分布U(a,b)的随 机数矩阵: unifrnd (a,b,m, n); 产生一个[a, b]均匀分布的随机数:unifrnd (a,b)
2.产生mm*nn阶离散均匀分布的随机数矩阵:
R = unidrnd(N) R = unidrnd(N,mm,nn)
3.产生 m n 阶均值为 ,标准差为 的正态分布的随机数矩阵: normrnd ( , ,m, n)
从数值上模仿实际系统的动态行为。
仿真过程
1. 现实系统的分析: 了解背景,明确目的,提出总体方案。 2. 组建模型: 确定变量, 明确关系, 设计流程,编制程序 3. 运行检验: 确定初始状态,参量数值, 运行程序,检验结果,改进模型。 4. 输出结果
fix(x) : 截尾取整,直接将小数部分舍 去
随机数rand及其相关用法 rand %产生0~1的一个随机数; rand(n) %产生0~1的n*n的矩阵; rand(m,n)% 产生0~1的m*n的矩阵;
2.综合能力的提升
系统仿真(Simulation) 1. 系统仿真:使用计算机对一个系统
的结构和行为进行动态模拟。 为决策提供必要的参考信息。 特点:对象真实、复杂,进行模仿。 2. 仿真模型:由计算机程序控制运行
2. 符号假设
i:要模拟的打击次数; k1:没击中敌人火炮的射击总数; k2:击中敌人一门火炮的射击总数; k3:击中敌人两门火炮的射击总数. E:有效射击(毁伤一门炮或两门炮)的概率
function proguji=liti(mm) frq=0; randnum1=unifrnd(0,60,mm,1); randnum2=unifrnd(0,60,mm,1); randnum=randnum1-randnum2; proguji=0; for ii=1:mm
if abs(randnum(ii,1))<=20 frq=frq+1;
P
g的面积 G的面积
1 2
sin d
0
a
2l
a
2
实验者 沃尔弗 斯密思 福克斯 拉查里尼
年份 投计次数
1850 1855 1894 1901
5000 3204 1120 3408
π的实验值 3.1596 3.1553 3.1419
3.1415929
例: 在我方某前沿防守地域,敌人以一个炮排
(含两门火炮)为单位对我方进行干扰和
end end proguji=frq/mm
liti(10000) proguji = 0.5557
3.例题训练
例1 :蒲丰氏问题
为了求得圆周率π值,在十九世纪后期,有很多
人作了这样的试验:将长为l的一根针任意投到
地面上,用针与一组相间距离为a( l<a)的平
行线相交的频率代替概率P,再利用准确的关系
式:
P 2l
a
求出π值: 2l 2l ( N )
aP a n
其中N为投计次数,n为针与平行线相交次
数。这就是古典概率论中著名的蒲丰氏问 题。
分析知针与平行线相交的充要条件是:
x 1 sin
2
其中:0 x a ,0 π
2
建立直角坐标系 (, x,) 上述条件在坐标系下将是曲
线所围成的曲边梯形区域。由几何概率知: