收藏 分销(赏)

计算机模拟.ppt

上传人:xrp****65 文档编号:13723033 上传时间:2026-04-07 格式:PPT 页数:42 大小:694KB 下载积分:10 金币
下载 相关 举报
计算机模拟.ppt_第1页
第1页 / 共42页
计算机模拟.ppt_第2页
第2页 / 共42页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数学建模培训,计算机模拟,模拟的概念,模拟,就是利用物理的、数学的模型来类比、模仿现实系统及其演变过程,以寻求过程规律的一种方法,模拟的基本思想,是建立一个试验的模型,这个模型包含所研究系统的主要特点通过对这个实验模型的运行,获得所要研究系统的必要信息,.,对实际系统及其过程用功能相似的实物系统去模仿例如,军事演习、船艇实验、沙盘作业等,物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难而且,许多系统无法进行物理模拟,如社会经济系统、生态系统等,模拟的方法,物理模拟,在一定的假设条件下,运用数学运算模拟系统的运行,称为数学模拟现代的数学模拟都是在计算机上进行的,称为计算机模拟,数学模拟,计算机模拟可以反复进行,改变系统的结构和系数都比较容易,在实际问题中,面对一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,与面临的实际问题可能相差甚远,以致解答根本无法应用,这时,计算机模拟几乎成为唯一的选择计算机模拟与数学建模的关系如图所示:,实际问题,数学、逻辑模型,计算机模型,数学、计算机解,实际解,符合实际系统,要求和精度,停,Y,N,修正改进,案例一 圆周率的近似计算,蒙特卡罗法,在正方形中随机撒一把豆子,通过考察落在其内切圆内黄豆的数目,用随机模拟的方法计算圆周率,P,的近似值(如图),-1,1,1,-1,x,y,具体方案如下:,利用计算机产生两组,0,,,1,上的均匀随机数,,x=RAND,,,y=RAND,;,统计试验总次数,N,和落在内切圆内的点数,N,1,(满足条件,x,2,+y,2,1,的点(,x,,,y,)的个数);,计算频率,N,1,/N,,即为点落在圆内的概率的近似值;,设圆的面积为,S,,由几何概率公式得点落在内切圆部分的概率为,P=S/4,S/4=,N,1,/N,S4N1/N,,即为圆的面积的近似值,又,S,圆,=r,2,=,,,=S4N,1,/N,,即为圆周率的近似值,结束,开始,输出,p,m=0,i=1,x,2,+y,2,1,X=rand(),Y=rand(),in,m=m+1,输入,n,i=i+1,p=m/n,N,Y,N,模拟过程流程图,cs=0,n=500,for i=1:n,a=rand(1,2);,if a(1)2+a(2)2=0.5,表示正面朝上,,x=0.5,,,k=k+1;,否则,k,不变;,第,5,步 计算频率,p=k/n,抛硬币的,matlab,程序,k=0,n=10,for i=1:n,x=rand;,if x=0.5,k=k+1;,end,end,k,p=k/n,案例三 随机模拟掷骰子问题,骰子呈正方体,有,6,面,点数分别是,1,、,2,、,3,、,4,、,5,、,6,,如果骰子是质地均匀的,那么投掷骰子掷出每一个点数的机会都是六分之一。我们要设计算法,编写程序,模拟投掷骰子的这种随机行为。,算法:,设,x,是(,0,,,1,)区间分布的随机数,定义,0 x1/6,表示掷出,1,点,,1/6x1/3,表示掷出,2,点,.,5/6x1,表示掷出,6,点,.,输入,投骰子的总次数,n,输出,投出每一个点数的频率,p,(有六个分量),第,1,步,初始化计数器(有六个分量);,第,2,步,对,i=1,2,.,n,循环进行第,3,4,步;,第,3,步,x=rand;,第,4,步,如果,0 x1/6,,,k(1)=k(1)+1;,如果,1/6x1/3,,,k(2)=k(2)+1;,.,如果,5/6x1,,,k(6)=k(6)+1;,第,5,步,计算频率,p=k/n,n=100;,k=zeros(1,6);,for i=1:n,x=rand;,if x1/6,k(1)=k(1)+1;,elseif x2/6,k(2)=k(2)+1;,elseif x3/6,k(3)=k(3)+1;,elseif x4/6,k(4)=k(4)+1;,elseif x0,为常数,则称,X,服从,参数,为 的,指数分布,指数分布的期望值为,指数分布可以用来表示独立随机事件发生的时间间隔,比如旅客进机场的时间间隔,排队服务系统中顾客到达率为常数时的到达间隔、故障率为常数时零件的寿命都服从指数分布,指数分布在排队论、可靠性分析中有广泛应用,注意:,MATLAB,中,产生,参数,为 的指数分布的命令为,exprnd(),例,顾客到达某商店的间隔时间服从参数为,0.1,的指数分布,指数分布的均值为,1/0.1=10,指两个顾客到达商店的平均间隔时间是,10,个单位时间,.,即平均,10,个单位时间到达,1,个顾客,.,顾客到达的间隔时间可用,exprnd(10),模拟,设离散型随机变量,X,的所有可能取值为,0,1,2,且取各个值的概率为,其中,0,为常数,则称,X,服从参数为 的,泊松分布,泊松分布在排队系统、产品检验、天文、物理等领域有广泛应用,泊松分布的期望值为,案例四,敌坦克分队对我方阵地实施突袭,其到达规律服从泊松分布,平均每分钟到达辆(,1,)模拟敌坦克在分钟内到达目标区的数量,以及在第、分钟内各到达几辆坦克(,2,)模拟在,3,分钟内每辆敌坦克的到达时刻,(,1,)用,poissrnd(4),进行模拟,To MATLAB,(,poiss,),(,2,)坦克到达的间隔时间应服从参数为,4,的负指数分布,用,exprnd,(,1/4,),模拟,To MATLAB,(,time,),案例四 企业库存系统的计算机模拟方法,在销售部门、工厂等领域中都存在库存问题,库存太多造成浪费以及资金积压,库存少了不能满足需求也造成损失,.,部门的工作人员需决定何时进货,进多少,使得所花费的平均费用最少,而收益最大,这就是库存问题,.,某企业生产易变质的产品,.,当天生产的产品必须售出,否则就会变质,.,该产品单位成本为,2.5,元,单位产品售价为,5,元,.,企业为避免存货过多而造成损失,拟从以下,2,种库存方案中选出一个较优的方案,:,方案甲,:,按前,1,天的销售量作为当天的库存量,;,方案乙,:,按前,2,天的平均销售量作为当天的库存量,.,【,问题的提出,】,【,模型建立,】,假定市场对该产品的每天需求量是一个随机变量,但从以往的统计分析得知它服从正态分布,:,N,(135,22.4).,第一:,获得市场对该产品的需求量的数据,;,第二:,计算出按照,2,种不同方案经,T,天后企业的利润值;,第三:,比较大小,从中选出一个更优的方案,.,计算机模拟的基本思路,:,D:,每天需求量,;,Q,1,:,方案甲当天的库存量,;,Q,2,:,方案甲当天的库存量,;,S,1,:,方案甲前,1,天的销售量,;,S,21:,方案乙前,1,天的销售量,;,S,22:,方案乙前,2,天的销售量,;,S,3,:,方案甲当天实际销售量,;,S,4,:,方案乙当天实际销售量,;,L,1,:,方案甲当天的利润,;,L,2,:,方案乙当天的利润,;,TL,1,:,方案甲累计总利润,;,TL,2,:,方案甲累计总利润,;,T,:,预定模拟天数,.,引入下列符号,:,模拟过程的流程图,【,模型的求解,】,利用,Matlab,编程来实现这一过程,建立如下,M,文件,:,function,TL,1,TL,2 =kucun(,T,S,1,S,21,S,22),TL,1=0,;TL,2=0,;k,=1,;,while,k,T,Q,1=,S,1,;Q,2=,(S,21+,S,22,)/,2,;,D,=normrnd(135,22.4);,if,D,Q,1,S,3=,Q,1,;,else,S,3=,D;,end,if,D,0.1),x(5)=x(1);y(5)=y(1);,for,i=1:4,d=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),.,),hold on,end,end,计算程序,:,To MATLAB(chase),案例六,在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点,经过长期观察发现,我方指挥所对敌方目标的指示有,50,是准确的,而我方火力单位,在指示正确时,有,1/3,的射击效果能毁伤敌人一门火炮,有,1/6,的射击效果能全部消灭敌人,现在希望能用某种方式把我方将要对敌人实施的,20,次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值,分析,:,这是一个概率问题,可以通过理论计算得到相应的概率和期望值,.,但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程,.,为了能显示我方,20,次射击的过程,现采用模拟的方式,需要模拟出以下两件事:,1.,问题分析,2,当指示正确时,我方火力单位的射击结果情况,1,观察所对目标的指示正确与否,模拟试验有两种结果,每种结果出现的概率都是,1/2,因此,,可用投掷,1,枚硬币的方式予以确定,,当硬币出现正面时为指示正确,反之为不正确,模拟试验有三种结果:毁伤,1,门火炮的可能性为,1/3(,即,2/6),,毁伤两门的可能性为,1/6,,没能毁伤敌火炮的可能性为,1/2(,即,3/6),这时,可用投掷骰子的方法来确定,:,如果出现的是、点:则认为没能击中敌人;,如果出现的是、点:则认为毁伤敌人一门火炮;,若出现的是点:则认为毁伤敌人两门火炮,2.,符号假设,i,:要模拟的打击次数;,k,1,:没击中敌人火炮的射击总数;,k,2,:击中敌人一门火炮的射击总数;,k,3,:击中敌人两门火炮的射击总数,E,:有效射击比率;,E,1,:,20,次射击平均每次毁伤敌人的火炮数,3.,模拟框图,初始化,:,i,=0,k,1,=0,k,2,=0,k,3,=0,i=i+,1,骰子,点数,?,k,1,=,k,1,+1,k,2,=,k,2,+1,k,3,=,k,3,+1,k,1,=,k,1,+1,i,20?,E,=,E,1,=0,+1,+2,停止,硬币正面,?,Y,N,N,Y,1,,,2,,,3,4,,,5,6,4.,模拟结果,6.,结果比较,虽然模拟结果与理论计算不完全一致,但它却能更加真实地表达实际战斗动态过程,用蒙特卡罗方法进行计算机模拟的步骤,:,1,设计一个逻辑框图,即模拟模型这个框图要正确反映系统各部分运行时的逻辑关系,2,模拟随机现象可通过具有各种概率分布的模拟随机数来模拟随机现象,clear,k1=0;k2=0;k3=0;,for i=1:20,R1=rand,if R1=0.5,R2=rand,if R25/6,k3=k3+1;,else,k2=k2+1;,end,end,else,k1=k1+1;,end,end,i,E=(k2+k3)/20,E1=(0*k1+1*k2+2*k3)/20,离散系统模拟实例,:,排队问题,排队论,主要研究随机服务系统的工作过程,在排队系统中,服务对象的到达时间和服务时间都是随机的排队论通过对每个个别的随机服务现象的统计研究,找出反映这些随机现象平均特性的规律,从而为设计新的服务系统和改进现有服务系统的工作提供依据,对于排队服务系统,顾客常常注意排队的人是否太多,等候的时间是否长,而服务员则关心他空闲的时间是否太短,.,于是人们常用排队的长度、等待的时间及服务利用率等指标来衡量系统的性能,.,1,系统的假设:,(,1,)顾客源是无穷的;,(,2,)排队的长度没有限制;,(,3,)到达系统的顾客按先后顺序依次进入服务,即“先到先服务”,单服务员的排队模型,:,在某商店有一个售货员,顾客陆续来到,售货员逐个地接待顾客当到来的顾客较多时,一部分顾客便须排队等待,被接待后的顾客便离开商店设:,1,顾客到来间隔时间服从参数为,0.1,的指数分布,对顾客的服务时间服从,上的均匀分布,排队按先到先服务规则,队长无限制,假定一个工作日为,8,小时,时间以分钟为单位,1,模拟一个工作日内完成服务的个数及顾客平均等待时间,t,2,模拟,100,个工作日,求出平均每日完成服务的个数及每日顾客的平均等待时间,2,符号说明,w,:总等待时间;,c,i,:第,i,个顾客的到达时刻;,b,i,:第,i,个顾客开始服务时刻;,e,i,:第,i,个顾客服务结束时刻,x,i,:,第,i,-1,个顾客与第,i,个顾客到达之间的时间间隔,y,i,:,对第,i,个顾客的服务时间,c,1,b,1,c,3,c,4,c,5,c,2,e,1,b,2,e,2,b,3,e,3,b,4,e,4,b,5,c,i,=,c,i,-1,+,x,i,e,i,=,b,i,+,y,i,b,i,=max(,c,i,e,i,-1,),t,3,模拟框图,初始化:令,i,=1,,,e,i,-1,=0,,,w,=0,产生间隔时间随机数,x,i,服从参数为,0.1,的指数分布,c,i,=,x,i,b,i,=,x,i,产生服务时间随机数,y,i,服从,4,15,的均匀分布,e,i,=,b,i,+,y,i,累计等待时间:,w,=,w,+,b,i,-,c,i,准备下一次服务:,i,=,i,+1,产生间隔时间随机数,x,i,服从参数为,0.1,的指数分布,c,i,=,c,i,-1,+,x,i,确定开始服务时间:,b,i,=max(,c,i,e,i-,1,),b,i,480?,Y,N,i,=,i,-1,t,=,w,/,i,输出结果:完成服务个数:,m,=,i,平均等待时间:,t,停止,1,模拟,1,日,To MATLAB(simu1),2,模拟,100,日,To MATLAB(simu2),clear,i=2;,w=0;,x(i)=exprnd(10);,c(i)=x(i);,b(i)=x(i);,while b(i)=480,y(i)=unifrnd(4,15);,e(i)=b(i)+y(i);,w=w+b(i)-c(i);,i=i+1;,x(i)=exprnd(10);,c(i)=c(i-1)+x(i);,b(i)=max(c(i),e(i-1);,end,i=i-2;,t=w/i,m=i,作 业,1,用,matlab,编一个福利彩票双色球电脑选号的程序并要求前六个数输出结果按升序排序,3.,某设备上安装有,4,只型号规格完全相同的电子管,已知电子管寿命服从,100,200h,之间的均匀分布电子管损坏时有两种维修方案,一是每次更换损坏的那只;二是当其中,1,只损坏时,4,只同时更换已知更换时间为换,1,只时需,1h,,,4,只同时换为,2h,更换时机器因停止运转每小时的损失为,20,元,又每只电子管价格,10,元,试用模拟方法确定哪一个方案经济合理?,4.,设位于坐标原点的甲舰向位于,x,轴上点,A,(1,0),处的乙舰发射导弹,导弹头始终对准乙舰,.,如果乙舰以最大的速度,(,常数,),沿平行于,y,轴的直线行驶,导弹的速度为,5.,模拟导弹运行的轨迹,.,乙舰行驶多远时,导弹将它击中?,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服