数学建模计算机模拟.ppt
- 文档编号:2680007
- 上传时间:2022-11-07
- 格式:PPT
- 页数:37
- 大小:587.50KB
数学建模计算机模拟.ppt
《数学建模计算机模拟.ppt》由会员分享,可在线阅读,更多相关《数学建模计算机模拟.ppt(37页珍藏版)》请在冰豆网上搜索。
数学建模与数学实验数学建模与数学实验计算机模拟计算机模拟实验目的实验目的实验内容实验内容学习计算机模拟的基本过程与方法学习计算机模拟的基本过程与方法1模拟的概念模拟的概念4实验作业实验作业3计算机模拟实例计算机模拟实例2产生随机数的计算机命令产生随机数的计算机命令连续系统模拟实例:
追逐问题追逐问题离散系统模拟实例:
排队问题排队问题用蒙特卡罗法解非线性规划问题用蒙特卡罗法解非线性规划问题返回计算机模拟实例计算机模拟实例模拟的概念模拟的概念模拟就是利用物理的、数学的模型来类比、模仿现实系统及其演变过程,以寻求过程规律的一种方法模拟的基本思想是建立一个试验的模型,这个模型包含所研究系统的主要特点通过对这个实验模型的运行,获得所要研究系统的必要信息.模拟的方法模拟的方法1物理模拟:
对实际系统及其过程用功能相似的实物系统去模仿例如,军事演习、船艇实验、沙盘作业等物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难而且,许多系统无法进行物理模拟,如社会经济系统、生态系统等在实际问题中,面对一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,与面临的实际问题可能相差甚远,以致解答根本无法应用这时,计算机模拟几乎成为唯一的选择在一定的假设条件下,运用数学运算模拟系统的运行,称为数学模拟现代的数学模拟都是在计算机上进行的,称为计算机模拟2数学模拟计算机模拟可以反复进行,改变系统的结构和系数都比较容易蒙特卡罗(蒙特卡罗(MonteCarloMonteCarlo)方法方法是一种应用随机数来进行计算机模拟的方法此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数例例11在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点经过长期观察发现,我方指挥所对敌方目标的指示有50是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部消灭敌人现在希望能用某种方式把我方将要对敌人实施的20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值分析分析:
这是一个概率问题,可以通过理论计算得到相应的概率和期望值.但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程.为了能显示我方20次射击的过程,现采用模拟的方式需要模拟出以下两件事:
1.问题分析问题分析22当指示正确时,我方火力单位的射击结果情况当指示正确时,我方火力单位的射击结果情况11观察所对目标的指示正确与否观察所对目标的指示正确与否模拟试验有两种结果,每种结果出现的概率都是1/2因此,可用投掷可用投掷11枚硬币的方式予以确定枚硬币的方式予以确定,当硬币出现正面时为指示正确,反之为不正确模拟试验有三种结果:
毁伤1门火炮的可能性为1/3(即2/6),毁伤两门的可能性为1/6,没能毁伤敌火炮的可能性为1/2(即3/6)这时可用投掷骰子的方法来确定可用投掷骰子的方法来确定:
如果出现的是、点:
则认为没能击中敌人;如果出现的是、点:
则认为毁伤敌人一门火炮;若出现的是点:
则认为毁伤敌人两门火炮2.符号假设符号假设i:
要模拟的打击次数;k1:
没击中敌人火炮的射击总数;k2:
击中敌人一门火炮的射击总数;k3:
击中敌人两门火炮的射击总数E:
有效射击比率;E1:
20次射击平均每次毁伤敌人的火炮数3.模拟框图模拟框图初始化:
i=0,k1=0,k2=0,k3=0i=i+1骰子点数?
k1=k1+1k2=k2+1k3=k3+1k1=k1+1i20?
E=E1=0+1+2停止硬币正面?
YNNY1,2,34,564.模拟结果模拟结果5.理论计算理论计算6.结果比较结果比较返回虽然模拟结果与理论计算不完全一致,但它却能更加真实地表虽然模拟结果与理论计算不完全一致,但它却能更加真实地表达实际战斗动态过程达实际战斗动态过程用蒙特卡罗方法进行计算机模拟的步骤用蒙特卡罗方法进行计算机模拟的步骤:
1设计一个逻辑框图,即模拟模型这个框图要正确反映系统各部分运行时的逻辑关系2模拟随机现象可通过具有各种概率分布的模拟随机数来模拟随机现象产生模拟随机数的计算机命令产生模拟随机数的计算机命令在MATLAB软件中,可以直接产生满足各种分布的随机数,命令如下:
2产生mn阶,均匀分布的随机数矩阵:
rand(m,n)产生一个,均匀分布的随机数:
rand1产生mn阶a,b上均匀分布U(a,b)的随机数矩阵:
unifrnd(a,b,m,n)产生一个a,b均匀分布的随机数:
unifrnd(a,b)当只知道一个随机变量取值在(a,b)内,但不知道(也没理由假设)它在何处取值的概率大,在何处取值的概率小,就只好用U(a,b)来模拟它例1的计算机模拟ToMATLAB(rnd)当研究对象视为大量相互独立的随机变量之和,且其中每一种变量对总和的影响都很小时,可以认为该对象服从正态分布机械加工得到的零件尺寸的偏差、射击命中点与目标的偏差、各种测量误差、人的身高、体重等,都可近似看成服从正态分布若连续型随机变量X的概率密度函数为其中0为常数,则称X服从参数为的指数分布指数分布指数分布的期望值为排队服务系统中顾客到达率为常数时的到达间隔、故障率为常数时零件的寿命都服从指数分布指数分布在排队论、可靠性分析中有广泛应用注意:
注意:
MATLAB中,产生参数为的指数分布的命令为exprnd()例例顾客到达某商店的间隔时间服从参数为顾客到达某商店的间隔时间服从参数为0.10.1的指数分布的指数分布指数分布的均值为指数分布的均值为1/0.1=101/0.1=10指两个顾客到达商店的平均间隔时间是指两个顾客到达商店的平均间隔时间是1010个单位时间个单位时间.即平均即平均1010个个单位时间到达单位时间到达11个顾客个顾客.顾客到达的间隔时间可用顾客到达的间隔时间可用exprnd(10)模拟模拟设离散型随机变量X的所有可能取值为0,1,2,且取各个值的概率为其中0为常数,则称X服从参数为的泊松分布泊松分布泊松分布在排队系统、产品检验、天文、物理等领域有广泛应用泊松分布的期望值为如相继两个事件出现的间隔时间服从参数为的指数分布,则在单位时间间隔内事件出现的次数服从参数为的泊松分布即单位时间内该事件出现k次的概率为:
反之亦然指数分布与泊松分布的关系:
(1)
(1)指两个顾客到达商店的平均间隔时间是指两个顾客到达商店的平均间隔时间是1010个单位时间个单位时间.即平均即平均1010个单位时间到达个单位时间到达11个顾客个顾客.
(2)
(2)指一个单位时间内平均到达指一个单位时间内平均到达0.10.1个顾客个顾客例例
(1)
(1)顾客到达某商店的间隔时间服从参数为顾客到达某商店的间隔时间服从参数为0.10.1的指数分布的指数分布
(2)
(2)该商店在单位时间内到达的顾客数服从参数为该商店在单位时间内到达的顾客数服从参数为0.10.1的泊松分布的泊松分布返回例例22敌坦克分队对我方阵地实施突袭,其到达规律服从泊松分布,平均每分钟到达辆
(1)模拟敌坦克在分钟内到达目标区的数量,以及在第、分钟内各到达几辆坦克
(2)模拟在3分钟内每辆敌坦克的到达时刻
(1)用poissrnd(4)进行模拟ToMATLAB(poiss)
(2)坦克到达的间隔时间应服从参数为4的负指数分布,用exprnd(1/4)模拟ToMATLAB(time)连续系统模拟实例:
追逐问追逐问题题状态随时间连续变化的系统称为连续系统连续系统对连续系统的计算机模拟只能是近似的,只要这种近似达到一定的精度,也就可以满足要求例例追逐问题追逐问题:
如图,正方形ABCD的4个顶点各有1人.在某一时刻,4人同时出发以匀速v=1m/s按顺时针方向追逐下一人,如果他们始终保持对准目标,则最终按螺旋状曲线于中心点O.试求出这种情况下每个人的行进轨迹.OBCDA1.建立平面直角坐标系:
A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4).2.取时间间隔为t,计算每一点在各个时刻的坐标.4.对每一个点,连接它在各时刻的位置,即得所求运动轨迹.求解过程求解过程:
ToMATLAB(chase)返回v=1;dt=0.05;x=001010;y=010100;fori=1:
4plot(x(i),y(i),.),holdonendd=20;while(d0.1)x(5)=x
(1);y(5)=y
(1);fori=1:
4d=sqrt(x(i+1)-x(i)2+(y(i+1)-y(i)2);x(i)=x(i)+v*dt*(x(i+1)-x(i)/d;y(i)=y(i)+v*dt*(y(i+1)-y(i)/d;plot(x(i),y(i),.),holdonendend计算程序计算程序:
ToMATLAB(chase)返回离散系统模拟实例离散系统模拟实例:
排队问题排队问题排队论排队论主要研究随机服务系统的工作过程在排队系统中,服务对象的到达时间和服务时间都是随机的排队论通过对每个个别的随机服务现象的统计研究,找出反映这些随机现象平均特性的规律,从而为设计新的服务系统和改进现有服务系统的工作提供依据对于排队服务系统,顾客常常注意排队的人是否太多,等候的时间是否长,而服务员则关心他空闲的时间是否太短.于是人们常用排队的长度、等待的时间及服务利用率等指标来衡量系统的性能.1系统的假设:
系统的假设:
(1)顾客源是无穷的;顾客源是无穷的;
(2)排队的长度没有限制;排队的长度没有限制;(3)到达系统的顾客按先后顺序依次进入服务,到达系统的顾客按先后顺序依次进入服务,即即“先到先服务先到先服务”单单服服务务员员的的排排队队模模型型:
在在某某商商店店有有一一个个售售货货员员,顾顾客客陆陆续续来来到到,售售货货员员逐逐个个地地接接待待顾顾客客当当到到来来的的顾顾客客较较多多时时,一一部部分分顾顾客客便便须须排排队队等待,被接待后的顾客便离开商店设:
等待,被接待后的顾客便离开商店设:
11顾客到来间隔时间服从参数为顾客到来间隔时间服从参数为0.10.1的指数分布的指数分布对顾客的服务时间服从,上的均匀分布对顾客的服务时间服从,上的均匀分布排队按先到先服务规则,队长无限制排队按先到先服务规则,队长无限制假定一个工作日为假定一个工作日为88小时,时间以分钟为单位小时,时间以分钟为单位11模拟一个工作日内完成服务的个数及顾客平均等待时间模拟一个工作日内完成服务的个数及顾客平均等待时间tt22模模拟拟100100个个工工作作日日,求求出出平平均均每每日日完完成成服服务务的的个个数数及及每每日日顾顾客客的的平平均均等待时间等待时间22符号说明符号说明w:
总等待时间;总等待时间;cii:
第:
第i个顾客的到达时刻;个顾客的到达时刻;bi:
第:
第i个顾客开始服务时刻;个顾客开始服务时刻;eii:
第:
第i个顾客服务结束时刻个顾客服务结束时刻xi:
第第i-1-1个顾客与第个顾客与第i个顾客到达之间的时间间隔个顾客到达之间的时间间隔yi:
对第对第i个顾客的服务时间个顾客的服务时间c1b1c3c4c5c2e1b2e2b3e3b4e4b5ci=ci-1+xiei=bi+yibi=max(ci,ei-1)t3模拟框图模拟框图初始化:
令i=1,ei-1=0,w=0产生间隔时间随机数xi服从参数为0.1的指数分布ci=xi,bi=xi产生服务时间随机数yi服从4,15的均匀分布ei=bi+yi累计等待时间:
w=w+bi-ci准备下一次服务:
i=i+1产生间隔时间随机数xi服从参数为0.1的指数分布ci=ci-1+xi确定开始服务时间:
bi=max(ci,ei-1)bi480?
YNi=i-1,t=w/i输出结果:
完成服务个数:
m=i平均等待时间:
t停止1模拟1日ToMATLAB(simu1)2模拟100日ToMATLAB(sim
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 计算机 模拟
![提示](https://static.bdocx.com/images/bang_tan.gif)