数学建模之计算机仿真ppt课件

上传人:资****亨 文档编号:143948764 上传时间:2020-09-03 格式:PPT 页数:87 大小:2.53MB
返回 下载 相关 举报
数学建模之计算机仿真ppt课件_第1页
第1页 / 共87页
数学建模之计算机仿真ppt课件_第2页
第2页 / 共87页
数学建模之计算机仿真ppt课件_第3页
第3页 / 共87页
数学建模之计算机仿真ppt课件_第4页
第4页 / 共87页
数学建模之计算机仿真ppt课件_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《数学建模之计算机仿真ppt课件》由会员分享,可在线阅读,更多相关《数学建模之计算机仿真ppt课件(87页珍藏版)》请在金锄头文库上搜索。

1、.,数学建模之,计算机仿真,China Undergraduate Mathematical Contest in Modeling,.,一个问题,我们做一个实验:把一个硬币掷一万次, 统计两个面出现的次数。这样做很简单但却需要大师时间,有没有一咱较快的办法把这个实验完成呢?,.,.,掷硬币仿真流程图,.,概述,计算机科学技术的迅猛发展,给许多学科带来了巨大的影响计算机不但使问题的求解变得更加方便、快捷和精确,而且使得解决实际问题的领域更加广泛计算机适合于解决那些规模大、难以解析化以及不确定的数学模型例如对于一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,与面临的实际问题可能相

2、差甚远,以致解答根本无法应用,这时仿真几乎成为人们的唯一选择在历届的美国和中国大学生的数学建模竞赛(MCM)中,学生们经常用到计算机仿真方法去求解、检验等计算机仿真(computer simulation)是建模过程中较为重要的一类方法,.,.,.,.,.,.,计算机仿真可以解决以下5类问题:,(1) 难以用数学公式表示的系统,或者没有建立和求解的有效方法. (2)虽然可以用解析的方法解决问题,但数学的分析与计算过于复杂,这时计算机仿真可能提供简单可行的求解方法. (3)希望能在较短的时间内观察到系统发展的全过程,以估计某些参数对系统行为的影响. (4)难以在实际环境中进行试验和观察时,计算机

3、仿真是唯一可行的方法,如太空飞行的研究. (5)需要对系统或过程进行长期运行比较,从大量方案中寻找最优方案.,.,计算机仿真案例1,模型建立:由于本题要求使从搅拌中心到各个工地运输混凝土的总的吨公里数最少,所以,该问题的目标函数是,.,求解方法: 1、高数中的方法,2、数值计算方法,3、计算机仿真: 离散化,遍历!,.,计算机仿真案例2,例2 (赶火车过程仿真)一列火车从A站经过B站开往C站,某人每天赶往B站乘这趟火车。已知火车从A站到B站的运行时间是均值为30min、标准差为2min的正态随机变量。火车大约在下午1点离开站。火车离开时刻的频率分布和这个人到达站时刻的频率分布如下表所示。问他能

4、赶上火车的概率有多大?,.,仿真过程: 1、生成火车的发车时间、运行时间,从而达得到其到达B站的时间。 2、生成此人达到B站的时间。 3、如果此人到达站的时间早于火车到达时间,则算赶上火车一次。 4、将上述过程重复一万次,统计赶上火车的频率作为所求概率。,分析:这个问题用概率论的方法求解十分困难,它涉及此人到达时刻、火车离开A站的时刻、火车运行时间几个随机变量。,我们可以用计算机仿真的方法来解决。,.,.,概述,计算机仿真在计算机中运行实现,不怕破坏,易修改,可重用,安全经济,不受外界条件和场地空间的限制. 仿真分为静态仿真(static simulation)和动态仿真(dynamic si

5、mulation).数值积分中的蒙特卡洛方法是典型的静态仿真动态仿真又分为连续系统仿真和离散系统仿真连续系统是指状态变量随着时间连续变化的系统,例如传染病的检测与预报系统.离散系统是指系统状态变量只在有限的时间点或可数的时间点上发生变化的系统,例如排队系统.,.,概述,仿真系统,必须设置一个仿真时钟(simulate clock),它能将时间从一个时刻向另一个时刻进行推进,并且能随时反映系统时间的当前值其中,模拟时间推进方式有两种:时间步长法(均匀间隔时间推进法,连续系统常用)和事件步长法(下次事件推进法,离散系统常用) ,.,主要内容,一: 准备知识:随机数的产生 二:随机变量的模拟 三:连

6、续系统的模拟-时间步长法 四: 离散系统的模拟-事件步长法 五:蒙特卡洛方法,.,一: 准备知识:随机数的产生,由于仿真研究的实际系统要受到多种随机因素的作用和影响,在仿真过程中必须处理大量的随机因素.要解决此问题的前提是确定随机变量的类型和选择合适的随机数产生的方法. 对随机现象进行模拟,实质是要给出随机变量的模拟,也就是说要利用计算机随机产生一系列数值,使它们服从一定的概率分布,称这些数值为随机数. 最基本,最常用的是(0,1)区间内均匀分布的随机数.其他分布的随机数均可利用它来产生.,.,1:产生模拟随机数的计算机命令,在MATLAB中,可以直接产生满足各种分布的随机数,命令如下: 常见

7、的分布函数 MATLAB语句 均匀分布U0,1 R=rand(m,n) 均匀分布Ua,b R=unifrnd(a,b,m,n) 指数分布 E() R = exprnd(, m , n) 正态分布N(mu,sigma) R=normrnd(mu,sigma,m,n) 标准正态分布N(0,1) R=randn(m,n) 二项分布B(n,p) R=binornd(n,p,m,n1) 泊松分布 P( ) R = poissrnd (, m , n) 以上语句均产生m n 的矩阵,.,2:案例分析,例1: unifrnd(2,3) unifrnd(1,32,1,4) normrnd(1,2) normr

8、nd(1,2,2,3) rand(2,3) randn(2,3),ans =2.8132 ans =1.3057 5.3056 7.2857 7.1604 ans = 0.2527 ans = 2.7429 0.0219 2.7759 2.2756 0.0992 -0.9560 ans = 0.6038 0.1988 0.7468 0.2722 0.0153 0.4451 ans = -0.0945 -1.3089 -0.2440 -0.2141 0.8248 -0.1778 ,.,2:案例分析,例2:敌空战部队对我方港口进行空袭,其到达规律服从泊松分布,平均每分钟到达4架飞机. (1)模拟敌

9、机在3分钟内到达目标区域的数量,以及在第1,2,3分钟内各到达几架飞机; (2)模拟在3分钟内每架飞机的到达时刻. 分析:(1) n1=poissrnd(4), n2=poissrnd(4), n3=poissrnd(4),n=n1+n2+n3 (2) 由排队论知识,敌机到达规律服从泊松分布等价于敌机到达港口的间隔时间服从参数为1/4的指数分布,故可由指数分布模拟每架飞机的到达时刻.,注:如果单位时间发生的次数(如到达的人数)服从参数为r的泊松分布,则任连续发生的两次时间的间隔时间序列服从参数为r的指数分布! 泊松分布的期望是,根据到泊松分布和指数分布的关系,可以推出指数分布的期望是1/。,.

10、,2:案例分析,clear t=0; j=0; %到达的飞机数 while t3 j=j+1 t=t+exprnd(1/4) end,.,二:随机变量的模拟,在很多实际问题中,我们需要模拟服从一定分布的随机变量,来进行计算和预测。 利用均匀分布的随机数可以产生具有任意分布的随机变量的样本,从而可以对随机变量的取值情况进行模拟. 1 连续型随机变量的模拟 具有给定分布的连续型随机变量可以利用在区间(0,1)上均匀分布的随机数来模拟,最常用的方法是逆变换法. 结论:若随机变量Y有连续的分布函数F(y), 则Z与Y有相同的分布.,.,1 连续型随机变量的模拟,一般说来,具有给定分布的连续型随机变量可

11、以利用在区间(0,1)上均匀分布的随机数来模拟最常用的方法是反函数法,由概率论的理论可以证明,若随机变量Y有连续的分布函数F(y),而X是区间(0,1)上均匀分布的随机变量,令 ,则Z与Y有相同的分布由此,若已知Y的概率密度为 ,由 可得,反函数法,.,如果给定区间(0,1)上均匀分布的随机数 ,则具有给定分布Y的随机数 可由方程 解出. 例 :模拟服从参数为 的指数分布时,由 可得,注:指数分布的密度函数,.,2 离散型随机变量的模拟,设随机变量X的分布律为:,有相同的发生的概率.因此我们可以用随机变量R落在小区间内的情况来模拟离散的随机变量X的取值情况.,.,因此我们可以用随机变量R落在小

12、区间内的情况来模拟离散的随机变量X的取值情况具体执行的过程是: 产生一个(0,1)上均匀分布的随机数 r(简称随机数),若p(n-1)r p(n)则理解为发生事件(X=xn)于是就可以模拟随机变量的取值情况,.,2 离散型随机变量的模拟,例 3 :随机变量 表示每分钟到达银行柜台的顾客数.X的分布列见下表,试模拟10分钟内顾客到达柜台的情况. 表1 10分钟内顾客到达柜台的情况 Xk 0 1 2 pk 0.4 0.3 0.3 分析:因为每分钟到达柜台的人数是随机的,所以可用计算机随机生成一组(0,1)的数据,由X的概率分布情况,可认为随机数在(0,0.4)范围内时没有顾客光顾,在0.4,0.7

13、)时,有一个顾客光顾,在0.7,1)时,有两个顾客光顾. 从而有MATLAB程序:,.,2 离散型随机变量的模拟,r=rand(1,10); for i=1:10; if r(i)0.4 n(i)=0; elseif 0.4=r(i) end r n,.,三:连续系统的模拟-时间步长法,对连续系统的计算机模拟是近似地获取系统状态在一些离散时刻点上的数值在一定假设条件下,利用数学运算模拟系统的运行过程连续系统模型一般是微分方程,它在数值模拟中最基本的算法是数值积分算法例如有一系统可用微分方程来描述: 已知输出量y的初始条件 ,现在要求出输出量y随时间变化的过程y(t)。,.,1 理论介绍,最直观

14、的想法是:首先将时间离散化,令 ,称为第k步的计算步距(一般是等间距的),然后按以下算法计算状态变量在各时刻 上的近似值: 其中初始点 按照这种作法即可求出整个的曲线这种最简单的数值积分算法称为欧拉法除此之外,还有其他一些算法 ,.,1 理论介绍,因此,连续系统模拟方法是:首先确定系统的连续状态变量,然后将它在时间上进行离散化处理,并由此模拟系统的运行状态模拟过程分为许多相等的时间间隔,时间步长的长度可以根据实际问题分别取为秒,分,小时,天等.仿真时钟按时间步长等距推进,每次推进都要扫描系统中所有活动,按预定计划和目标进行分析,计算,记录系统状态的变化,直到满足某个终止条件为止.,.,计算机仿

15、真举例,例4 :追击问题 我辑私舰雷达发现距c里处有一艘走私船正以匀速度a沿直线行驶,辑私舰立即以最大的速度 b追赶 , 若用雷达进行跟踪,保持船的瞬时速度方向始终指向走私船 , 试求辑私舰追逐路线和追上的时间 ,并且给出缉私舰和走私船的路线图。,.,选取坐标系如图:,假设缉私艇初始位置在点(c,0),走私船初始位置在点(0,0),走私船的行驶方向为y方向.,设缉私艇为动点D,走私船为动点R.在时刻t,缉私艇的位置是D(x,y),走私船的位置是R(0,at).,取时间间隔(步长)为 ,则在时刻 t+ ,D的位置是 ,(*),.,计算机仿真举例,算法:,赋初值:初始时刻 t0,时间步长 ,速度a

16、,b,初始位置c,循 环:,由公式(*)计算动点D在各时刻的坐标 D,计算动点R在各时刻的坐标R.,终 止: 当D,R的距离小于给定值 时终止,.,仿真算法:,.,第三步:计算缉私艇与走私船这两个动点之间的距离:,根据事先给定的距离,判断缉私艇是否已经追上了走私船,从而判断退出循环还是让时间产生一个步长,返回到第二步继续进入下一次循环;,试求缉私舰追逐路线和追上的时间。 取c=3千米,a=0.4千米/分钟,b=0.8千米/分钟,.,计算机仿真举例,将上述算法中求出的点D用直线段连接起来,就得到追赶曲线。循环终止时的即为追赶时间。可以看出,步长选取得越小,所求的曲线越精确。,.,例5:追逐问题 1问题提出 假设正方形ABCD的四个顶点处各站一人在某一时刻,四人同时以匀速v沿顺时针方向追逐下一个人,并且在任意时刻他们始终保持追逐

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号