收藏 分销(赏)

数学建模与数学实验市公开课一等奖百校联赛特等奖课件.pptx

上传人:精**** 文档编号:3509908 上传时间:2024-07-08 格式:PPTX 页数:37 大小:385.17KB
下载 相关 举报
数学建模与数学实验市公开课一等奖百校联赛特等奖课件.pptx_第1页
第1页 / 共37页
数学建模与数学实验市公开课一等奖百校联赛特等奖课件.pptx_第2页
第2页 / 共37页
数学建模与数学实验市公开课一等奖百校联赛特等奖课件.pptx_第3页
第3页 / 共37页
数学建模与数学实验市公开课一等奖百校联赛特等奖课件.pptx_第4页
第4页 / 共37页
数学建模与数学实验市公开课一等奖百校联赛特等奖课件.pptx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、数学建模与数学试验数学建模与数学试验后勤工程学院数学教研室 计算机模拟计算机模拟第1页实验目试验内容试验内容学习计算机模拟基本过程与方法。学习计算机模拟基本过程与方法。1 1、模拟概念。、模拟概念。4 4、试验作业、试验作业。3、计算机模拟实例。、计算机模拟实例。2、产生随机数计算机命令。、产生随机数计算机命令。第2页连续系统模拟实例:追逐问题追逐问题离散系统模拟实例:排队问题排队问题用蒙特卡洛法解非线性规划问题用蒙特卡洛法解非线性规划问题返回计算机模拟实例计算机模拟实例第3页模拟概念模拟概念 模拟就是利用物理、数学模型来类比、模仿现实系统及其演变过程,以寻求过程规律一个方法。模拟基本思想是建

2、立一个试验模型,这个模型包含所研究系统主要特点经过对这个试验模型运行,取得所要研究系统必要信息第4页模拟方法模拟方法1、物理模拟:对实际系统及其过程用功效相同实物系统去模仿。比如,军事演练、船艇试验、沙盘作业等。物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难。而且,许多系统无法进行物理模拟,如社会经济系统、生态系统等。第5页 在实际问题中,面对一些带随机原因复杂系统,用分析方法建模经常需要作许多简化假设,与面临实际问题可能相差甚远,以致解答根本无法应用。这时,计算机模拟几乎成为唯一选择。在一定假设条件下,利用数学运算模拟系统运行,称为数学模拟。当代数学模拟都是在计算机

3、上进行,称为计算机模拟。2、数学模拟 计算机模拟能够重复进行,改变系统结构和系数都比较轻易。蒙特卡洛(蒙特卡洛(Monte CarloMonte Carlo)方法)方法是一个应用随机数来进行计算机模拟方法此方法对研究系统进行随机观察抽样,经过对样本值观察统计,求得所研究系统一些参数第6页例例1 1在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点 经过长久观察发觉,我方指挥所对敌方目标指示有50是准确,而我方火力单位,在指示正确时,有1/3射击效果能毁伤敌人一门火炮,有1/6射击效果能全部毁灭敌人 现在希望能用某

4、种方式把我方将要对敌人实施20次打击结果显现出来,确定有效射击比率及毁伤敌方火炮平均值。分析分析:这是一个概率问题,能够经过理论计算得到对应概率和期望值.但这么只能给出作战行动最终静态结果,而显示不出作战行动动态过程.为了能显示我方20次射击过程,现采取模拟方式。第7页 需要模拟出以下两件事:1.问题分析问题分析2 2 当指示正确时,我方火力单位射击结果情况当指示正确时,我方火力单位射击结果情况1 1 观察所对目标指示正确是否观察所对目标指示正确是否模拟试验有两种结果,每一个结果出现概率都是1/2 所以,可用投掷一枚硬币方式给予确定可用投掷一枚硬币方式给予确定,当硬币出现正面时为指示正确,反之

5、为不正确 模拟试验有三种结果:毁伤一门火炮可能性为1/3(即2/6),毁伤两门可能性为1/6,没能毁伤敌火炮可能性为1/2(即3/6)这时可用投掷骰子方法来确定可用投掷骰子方法来确定:假如出现是、三个点:则认为没能击中敌人;假如出现是、点:则认为毁伤敌人一门火炮;若出现是点:则认为毁伤敌人两门火炮第8页2.符号假设符号假设i:要模拟打击次数;k1:没击中敌人火炮射击总数;k2:击中敌人一门火炮射击总数;k3:击中敌人两门火炮射击总数E:有效射击比率;E1:20次射击平均每次毁伤敌人火炮数3.模拟框图模拟框图初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子点数?k1=k1+1k2=k2

6、+1k3=k3+1k1=k1+1i20?E=(k2+k3)/20 E1=0*k1/20+1*k2/20+2*k3/20停顿硬币正面?YNNY1,2,34,56第9页4.模拟结果模拟结果第10页第11页5.理论计算理论计算第12页6.结果比较结果比较 返回 即使模拟结果与理论计算不完全一致,但它却能愈加真实地表即使模拟结果与理论计算不完全一致,但它却能愈加真实地表示实际战斗动态过程示实际战斗动态过程 用蒙特卡洛方法进行计算机模拟步骤用蒙特卡洛方法进行计算机模拟步骤:1 设计一个逻辑框图,即模拟模型这个框图要正确反应系统各部分运行时逻辑关系。2 模拟随机现象可经过含有各种概率分布模拟随机数来模拟随

7、机现象第13页产生模拟随机数计算机命令产生模拟随机数计算机命令 在Matlab软件中,能够直接产生满足各种分布随机数,命令以下:2产生mn阶,均匀分布随机数矩阵:rand(m,n)rand(m,n)产生一个,均匀分布随机数:randrand1产生mn阶a,b均匀分布U(a,b)随机数矩阵:unifrnd(a,b,m,n)unifrnd(a,b,m,n)产生一个a,b均匀分布随机数:unifrnd(a,b)unifrnd(a,b)当只知道一个随机变量取值在(a,b)内,但不知道(也没理由假设)它在何处取值概率大,在何处取值概率小,就只好用U(a,b)来模拟它。例 1计算机模拟第14页 To Ma

8、tlab(rnd)当研究对象视为大量相互独立随机变量之和,且其中每一个变量对总和影响都很小时,能够认为该对象服从正态分布。机械加工得到零件尺寸偏差、射击命中点与目标偏差、各种测量误差、人身高、体重等,都可近似看成服从正态分布。第15页若连续型随机变量X概率密度函数为 其中 0为常数,则称X服从参数为 指数分布指数分布。指数分布期望值为 排队服务系统中用户抵达率为常数时抵达间隔、故障率为常数时零件寿命都服从指数分布。指数分布在排队论、可靠性分析中有广泛应用。注意:注意:Matlab中,产生参数为 指数分布命令为exprnd()例例 用户抵达某商店间隔时间服从参数为用户抵达某商店间隔时间服从参数为

9、0.10.1指数分布指数分布 指数分布均值为指数分布均值为1/0.1=101/0.1=10。指两个用户抵达商店平均间隔时间是指两个用户抵达商店平均间隔时间是1010个单位时间个单位时间.即平均即平均1010个单个单位时间抵达位时间抵达1 1个用户个用户.用户抵达间隔时间可用用户抵达间隔时间可用exprnd(10)exprnd(10)模拟。模拟。第16页设离散型随机变量X全部可能取值为0,1,2,且取各个值概率为其中 0为常数,则称X服从参数为 帕松分布帕松分布。帕松分布在排队系统、产品检验、天文、物理等领域有广泛应用。帕松分布期望值为第17页如相继两个事件出现间隔时间服从参数为 指数分布,则在

10、单位时间间隔内事件出现次数服从参数为 泊松分布即单位时间内该事件出现k次概率为:反之亦然。指数分布与帕松分布关系:(1)(1)指两个用户抵达商店平均间隔时间是指两个用户抵达商店平均间隔时间是1010个单位时间个单位时间.即平均即平均1010个单位时间抵达个单位时间抵达1 1个用户个用户.(2)(2)指一个单位时间内平均抵达指一个单位时间内平均抵达0.10.1个用户个用户例例 (1)(1)用户抵达某商店间隔时间服从参数为用户抵达某商店间隔时间服从参数为0.10.1指数分布指数分布 (2)(2)该商店在单位时间内抵达用户数服从参数为该商店在单位时间内抵达用户数服从参数为0.10.1帕松分布帕松分布

11、 第18页 返回例例2 2敌坦克分队对我方阵地实施突袭,其抵达规律服从泊松分布,平均每分钟抵达辆(1)模拟敌坦克在分钟内抵达目标区数量,以及在第、分钟内各抵达几辆坦克(2)模拟在3分钟内每辆敌坦克抵达时刻。(1)用poissrnd(4)进行模拟。To Matlab(poiss)(2)坦克抵达间隔时间应服从参数为4负指数分布,用exprnd(1/4)模拟。To Matlab(time)第19页连续系统模拟实例:追逐问追逐问题题 状态随时间连续改变系统称为连续系统连续系统。对连续系统计算机模拟只能是近似,只要这种近似到达一定精度,也就能够满足要求。例例 追逐问题追逐问题:如图,正方形ABCD四个顶

12、点各有一人.在某一时刻,四人同时出发以匀速v=1米/秒按顺时针方向追逐下一人,假如他们一直保持对准目标,则最终按螺旋状曲线于中心点O.试求出这种情况下每个人行进轨迹.OBCDA第20页1.建立平面直角坐标系:A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4).2.取时间间隔为t,计算每一点在各个时刻坐标.4.对每一个点,连接它在各时刻位置,即得所求运动轨迹.求解过程求解过程:To Matlab(chase)返回第21页v=1;dt=0.05;x=0 0 10 10;y=0 10 10 0;for i=1:4 plot(x(i),y(i),.),hold onendd=20;

13、while(d0.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)返回第22页离散系统模拟实例离散系统模拟实例:排队问题排队问题 排队论排队论主要研究随机服务系统工作过程。在排队系统中,服务对象抵达时间和服务时间都是随机。排队论经过对每个个别随机服务现象统计研究,找出反应这些随

14、机现象平均特征规律,从而为设计新服务系统和改进现有服务系统工作提供依据。对于排队服务系统,用户经常注意排队人是否太多,等候时间是否长,而服务员则关心他空闲时间是否太短.于是人们惯用排队长度、等候时间及服务利用率等指标来衡量系统性能.第23页1 系统假设:系统假设:(1)用户源是无穷;用户源是无穷;(2)排队长度没有限制;排队长度没有限制;(3)抵达系统用户按先后次序依次进入服务,抵达系统用户按先后次序依次进入服务,即即“先到先服务先到先服务”。单单服服务务员员排排队队模模型型:在在某某商商店店有有一一个个售售货货员员,用用户户陆陆续续来来到到,售售货货员员逐逐一一地地接接待待用用户户当当到到来

15、来用用户户较较多多时时,一一部部分分用用户户便便须须排排队队等等候候,被接待后用户便离开商店设:被接待后用户便离开商店设:1 1用户到来间隔时间服从参数为用户到来间隔时间服从参数为0.10.1指数分布指数分布对用户服务时间服从,上均匀分布对用户服务时间服从,上均匀分布排队按先到先服务规则,队长无限制排队按先到先服务规则,队长无限制 假定一个工作日为假定一个工作日为8 8小时,时间以分钟为单位。小时,时间以分钟为单位。11模拟一个工作日内完成服务个数及用户平均等候时间模拟一个工作日内完成服务个数及用户平均等候时间t t22模模拟拟100100个个工工作作日日,求求出出平平均均每每日日完完成成服服

16、务务个个数数及及每每日日用用户户平平均均等等候候时间。时间。第24页 2 2 符号说明符号说明 w w:总等候时间;:总等候时间;c ci i:第:第i i个用户抵达时刻;个用户抵达时刻;b bi i:第:第i i个用户开始服务时刻;个用户开始服务时刻;e ei i:第:第i i个用户服务结束时刻个用户服务结束时刻 x xi i:第第i-1i-1个用户与第个用户与第i i个用户之间抵达间隔时间个用户之间抵达间隔时间 y yi i:对第对第i i个用户服务时间个用户服务时间c1b1c3c4c5c2e1b2e2b3e3b4e4b5ci=ci-1+xiei=bi+yibi=max(ci,ei-1)t

17、第25页3 模拟框图模拟框图初始化:令i=1,ei-1=0,w=0产生间隔时间随机数xi参数为0.1指数分布ci=xi,bi=xi 产生服务时间随机数yi4,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模拟一日To Matlab(simu1)2模拟100日To Matlab(simu2)返回第26页用蒙特卡洛法解非线性规划问题用蒙特卡洛法解非线性规划问

18、题第27页基本假设基本假设 试验点第j个分量xj服从aj,bj内均匀分布符号假设符号假设求解过程求解过程 先产生一个随机数作为初始试验点,以后则将上一个试验点第j个分量随机产生,其它分量不变而产生一新试验点这么,每产生一个新试验点只需一个新随机数分量当KMAXK或PMAXP时停顿迭代第28页框框 图图初始化:给定MAXK,MAXP;k=0,p=0,Q:大整数xj=aj+R(bj-aj)j=1,2,nj=0j=j+1,p=p+1PMAXP?YNxj=aj+R(bj-aj)gi(X)0?i=1,2nYNjMAXK?YN输出X,Q,停顿YN第29页 在Matlab软件包中编程,共需三个文件:rand

19、lp.m,mylp.m,lpconst.m.主程序为randlp.m.%mylp.m%mylp.mfunction z=mylp(x)%目标函数z=2*x(1)2+x(2)2-x(1)*x(2)-8*x(1)-3*x(2);%转化为求最小值问题第30页%randlp.m%randlp.m function sol,r1,r2=randlp(a,b,n)%随机模拟解非线性规划debug=1;a=0;%试验点下界b=10;%试验点上界n=1000;%试验点个数r1=unifrnd(a,b,n,1);%n1阶a,b均匀分布随机数矩阵r2=unifrnd(a,b,n,1);sol=r1(1)r2(1)

20、;z0=inf;for i=1:n x1=r1(i);x2=r2(i);lpc=lpconst(x1 x2);if lpc=1 z=mylp(x1 x2);if zz0 z0=z;sol=x1 x2;end endendTo Matlab(randlp)返回第31页试验作业试验作业1、编一个福利彩票电脑选号程序。第32页4.某设备上安装有四只型号规格完全相同电子管,已知电子管寿命为1000-小时之间均匀分布。当电子管损坏时有两种维修方案,一是每次更换损坏那一只;二是当其中一只损坏时四只同时更换。已知更换时间为换一只时需1小时,4只同时换为2小时。更换时机器因停顿运转每小时损失为20元,又每只电

21、子管价格10元,试用模拟方法决定哪一个方案经济合理?5.导弹追踪问题:导弹追踪问题:设位于坐标原点甲舰向位于x轴上点A(1,0)处乙舰发射导弹,导弹头一直对准乙舰.假如乙舰以最大速度(是常数)沿平行于y轴直线行驶,导弹速度是5,模拟导弹运行轨迹.又乙舰行驶多远时,导弹将它击中?第33页初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子点数?k1=k1+1k2=k2+1k3=k3+1k1=k1+1i20?E=(k2+k3)/20 E1=0*k1/20+1*k2/20+2*k3/20停顿硬币正面?YNNY1,2,34,56第34页投掷硬币计算机模拟投掷硬币计算机模拟1、产生服从U(0,1)

22、随机数R12、将区间0,1两等分:若 ,则对应硬币正面 若 ,则对应硬币反面第35页掷骰子计算机模拟掷骰子计算机模拟1、产生服从U(0,1)随机数R22、将区间0,1六等份:若 ,则对应骰子点数为1 若 ,则对应骰子点数为2 若 ,则对应骰子点数为3 若 ,则对应骰子点数为4 若 ,则对应骰子点数为5 若 ,则对应骰子点数为6第36页初始化:i=0,k1=0,k2=0,k3=0i=i+1R2=?k1=k1+1k2=k2+1k3=k3+1k1=k1+1i20?E=(k2+k3)/20 E1=0*k1/20+1*k2/20+2*k3/20停顿R1=0.5YNNYR25/6To Matlab(liti1)第37页

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服