文档介绍:
计算机模拟
基本思想:
建立一个实验的模型,通过实验模型的运行,后的索要研究系统的必要信息。
蒙特卡罗方法
蒙特卡罗(Monte Carlo)方法
应用随机数来进行模拟试验的方法,此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数。
例1 在我方某前沿防守阵地,敌人以一个炮排(两门火炮)为单位对我方进行干扰和破坏。为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点。经过长期观察发现,我方指挥所对敌方的目标的指示有50%是准确的,俄日我方火力单位,在正确指示下,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部消灭敌人。现在希望我方将要对敌人实施20次打击结构显示出来,确定有效射击的比率及毁伤敌方火炮的平均值。
问题分析
概率理论模型:得到最终的静态结果,无法显示作战行动的动态过程。
仿真模型:显示20次射击的过程,模拟出两个过程:一是观察目标指示的正确或不正确;二是正确指示下,我方火力单位的射击效果。
仿真方案:
过程一(投硬币试验) 正----指示正确
反----指示错误
过程二(执榖子) 1、2、3点-----未击中敌人
4、5点-----击毁敌人一门火炮
6点-----击毁敌人两门火炮
仿真过程图
:要模拟的打击次数
:没击中敌人的次数
:击中一门的射击次数
:击中两门的射击次数
:有效射击比率
:20次射击平均每次击毁敌人的火炮数
初始化:
j<20
硬币正面
榖字点数
end
123
45
6
仿真结果
试验
序号
投硬币
结果
指示
正确
指示
错误
投榖子
结果
消灭敌人火炮数
0
1
2
1
+
√
4
√
2
+
√
4
√
3
-
√
4
+
√
1
√
5
+
√
2
√
6
-
√
7
+
√
3
√
8
+
√
6
√
9
-
√
10
-
√
11
+
√
2
√
12
-
√
13
+
√
3
√
14
-
√
15
+
√
6
√
16
+
√
4
√
17
+
√
2
√
18
+
√
4
√
19
-
√
20
+
√
6
√
结果分析
模拟结果:
理论结果:
E=7/20=0.35
E1=0*13/20+1*4/20+2*3/20=0.5
A0:射中敌方火炮事件
A1:射中敌方一门火炮的事件
A2:射中敌方两门火炮的事件
E=P(A0)=0.25
P(A1)=1/6
P(A2)=1/12
E1=1*P(A1)+2*P(A2)
分类
项目
无效射击
有效射击
平均值
模拟仿真
0.65
0.35
0.5
理论计算
0.75
0.25
0.33
模拟随机数的产生
产生具有一定分布的随机数的方法:
等概率密度随机数发生器
数字转换
0~1之间
的随机数R
具有一定分布
的随机数x
参数为的指数分布:
产生正态模拟随机序列
Matlab中的随机数产生命令
命令
说明
rand(m,n)
m×n 阶[0,1]均匀分布
unifrnd(a,b,m,n)
m×n 阶[a,b]均匀分布
exprnd(λ,m,n)
m×n 阶均值为λ的指数分布
poissrnd(λ,m,n)
m×n 阶均值为λ的泊松分布
normrnd(μ,σ,m,n)
m×n 阶均值μ、方差为σ的正态分布
排队模型的计算机模拟
排队论研究随机服务系统工作过程的理论。特点在于服务对象到达时间以及系统对每个对象的服务时间是随机的。排队论通过对个别随机服务现象的统计研究,找出反映这些随机现象的平均特性的规律,为射击新服务系统和改进服务提供依据。
例单服务员的排队模型:在某一商店有一售货员,顾客陆续到来,售货员逐一接待。当到来顾客较多时,顾客必须排队等待,接待后的顾客便离开商店。设:
1. 顾客到来时间间隔θ服从均值为10的指数分布.
2. 对顾客的服务时间η服从[4,15]上的均匀分布.
3. 排队按先到先服务规则, 队长无限.
假定时间以min为单位,对上述模型模拟3000min,求此时间内完成服务的个数及顾客平均等待时间。
模拟程序流程图
w :总等待时间
ci :第 i 个顾客到达时刻
bi :第 i 个顾客开始服务时刻
ei :第 i 个顾客服务结束时刻
初始化:令i=1,ei-1=0,w=0
产生间隔时间随机数xi-1~参数为10的指数分布
ci =xi ,bi =xi
产生服务时间随机数yi-1~[4,15]的均匀分布
内容来自淘豆网转载请标明出处.