数学建模之计算机仿真_第1页
数学建模之计算机仿真_第2页
数学建模之计算机仿真_第3页
数学建模之计算机仿真_第4页
数学建模之计算机仿真_第5页
已阅读5页,还剩166页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机模拟、蒙特广西大学数信学院、电子邮件:moxingde、计算机模拟、计算机模拟基本概念随机数发生时间步长法蒙特卡罗法建模示例:一、计算机模拟基本概念、斑点,实物仿真,非实物仿真,例如曹冲称象,军事演习,飞机风洞试验,核爆炸试验等是实物仿真的例子。 1、计算机模拟的基本概念、计算机模拟、计算机模拟是一种非实物模拟方法,使用计算机动态演示系统的结构和行为,评价或预测系统的行为效果,向决策提供信息。 那是解决复杂现实问题的有效方法。 计算机仿真的基本概念,计算机仿真通过构建数学模型并编制计算机程序,实现实际系统仿真,了解系统随时间变化的行为和特性。 计算机仿真的基本概念、仿真实例计算机仿真反映了新科技的时代特征,其应用为各领域带来了新的气象和成果。 应用领域包括航空管理、公交安排、飞机设计、动画设计、三峡安全、生态、道路建设、医疗保险、国债发行、装修、炼钢温度估算、电厂操作训练、飞行员训练、鼠标检测与预报。 计算机模拟的基本概念是黑死病菌寄生在小鼠身上,由跳蚤传播到人体,又称鼠疫。 病菌被跳蚤叮咬进入人体,约25天潜伏期后,患者腹股沟及其他淋巴结红肿、疼痛、高热、疲劳、皮肤发黑,故称黑死病。 死亡率是60-90%。 鼠疫传播,计算机模拟的基本概念,最原始的生化武器,1346年,蒙古将军去攻击黑海富庶的卡扎菲城堡,久久不能攻击时,蒙古军发生鼠疫,无数士兵死亡,至今仍有退兵之势。 此时,蒙古将军用弩把死去的士兵的尸体扔进城里,在城市流行鼠疫,城门想出了不自然攻击而破坏的方法。 城堡破裂时,意大利热那亚的富商带着妻子、金子和银饰品乘船逃走了。 他在地中海诸国漂流了很久,国家不敢疏散他们,大家都害怕鼠疫的传染。 最后回到家乡热那亚,他把全部财富推到甲板上,对守城的人说。 “我离开高加索城已经六个月了,如果感染鼠疫早就死了,但是我没有死。 我发现我没有瘟疫。 如果你带我进城,甲板上的宝石就是你们的。 鼠疫传染给老鼠的跳蚤是众所周知的。 通常老鼠躲在船底的污垢处,人们很难注意到。 热那亚人开门进入这艘船后,鼠疫从热那亚蔓延开来,包括北部的斯堪的纳维亚半岛在内,在欧洲蔓延开来。 每天黄昏时,有人推着独轮车,手里摇着铃喊着“bringoutthedead,bringoutthedead .”、“拿出尸体,拿出尸体”。 家家户户把尸体搬出去焚烧,说尸体烧得像山一样。 鼠疫在欧洲流行了一百多年,有三分之一的人口死亡。 计算机模拟的基本概念,欧洲鼠疫流行时死亡的无数计算机模拟的基本概念,鼠疫期间贵族纷纷弃城而逃,计算机模拟的基本概念,疫病如此恐怖,有什么好的预测方法吗? 计算机模拟是一种很好的预测方法。 研究表明,鼠疫传染给了老鼠的特殊跳蚤。 跳蚤的数量决定鼠疫是否发生。 我们可以用计算机根据地区气候,通过模拟当时该地区的水草状况来预测鼠疫是否会发生。 计算机模拟的基本概念,三峡水库总库存容量393亿立方米,总设备容量1820万千瓦,成为世界上最大的水电站。 但是,三峡的安全问题是一个很重要的问题,我们完全看不到安全性。 用计算机仿真能很好地解决这个问题。长江三峡工程、计算机模拟基本概念、飞机设计中有重要环节:风洞试验。 实际的风洞实验费用很高。 采用计算机仿真进行了模拟风洞试验,大大削减了费用。 飞机设计,2 .为什么要进行计算机仿真,反复实验容易,参数控制容易,时间短,成本小。 在建立实际系统之前,可预测其操作效果,且可从不同结构或不同参数的模型的结果比较中选择最佳模型。 在没有解析表示的系统和有解析表示但是不能正确理解的系统中,通过仿真可以得到系统工作的数值结果。 在随机系统中,大量的迭代实验可以得到其平均意义上的特性指标。 3、应用计算机仿真解决的问题、难以用数学公式表达的系统,或者构建数学模型求解的有效方法无法解决。 如果数学分析和计算过于复杂,虽然分析方法可以解决该问题,但计算机模拟可以提供一种简单且可行的解决方案。 如果在实际环境中难以进行实验和观察,以估算某些希望在短时间内观察系统发展全过程的参数对系统行为的影响,计算机模拟就是唯一可能的方法,如宇宙飞行的研究。 需要长期比较系统和流程,从大量方案中寻找最佳方案。 4 .模拟常用术语,由系统、特定功能相互以一定规则连接的物体构成的总体,区分了为限制研究问题涉及的范围而在系统边界研究的系统和影响系统的环境.系统的对象、 系统的构成要素都是实体.系统边界.实体.模拟常用语,属性反映了实体的某些性质,它反映了文字型、数字型或逻辑型.系统的状态在某一时刻变化实体及其属性值的集合.系统的状态的过程.活动反映了系统的变化规律.属性、状态、活动、模拟事件是系统发生变化的瞬间发生的事件。 为了使模拟程序能够忠实地模拟实际的系统变化,在某个离散事件的模拟中,以事件表的形式进行调度。 事件表一般是有秩序的记录列,每个记录都包含事件发生时间、事件类型等内容。 事件、事件表、模拟常用语、研究系统一般需要模拟时间变量来识别状态的时间变化规律。 在模拟连续系统时,总是在均匀的时间点表示状态值。 因此,仿真钟的步长是常数。 在离散系统的模拟时,只有在事件发生时系统的状态才会发生变化,有必要表现出系统的状态。 此时,仿真钟的步骤随事件发生的时刻而变化。 模拟时钟,5 .模拟研究的步骤,问题的明确化和总体方案的提出。 确定模拟目标、系统实体、属性、活动等,以清楚地表示模拟系统的内容,确定问题的目标函数以及系统可控变量,以确定系统边界。 选择适当的模拟方法(如时间步长法、事件表法等)、系统分析和模型创建设计整个系统的模拟流程图,以确定系统的初始状态。 收集数据的程序,确认要创建程序验证的模型。模型结构、仿真研究的步骤、执行:确定具体执行方案,如初始条件、参数、步骤、重复次数等,输入数据,执行程序。 改进:将得到的仿真结果与实际系统进行比较,进一步分析并改进模型,直至满足实际系统的要求和精度。 设计了模型的运行和改进、结构清晰的仿真结果输出。 记录提供文件的清单、重要的中间结果等。输出格式有助于用户了解整个仿真过程,分析和使用仿真结果。 设计形式输出仿真结果,仿真研究程序、系统分析、模型结构、模型运行、输出结果、计算机仿真实例,例如1.1混凝土搅拌中心的位置为K1(x1,y1)、K2(x2,y2)、Kn(xn,yn )的合计n工地,各混凝土Q1、Q2 如何确定混凝土搅拌中心的位置K0(x0,y0),将成本降至最低?计算机模拟例子,解1 :数学计算记号第k个工地的位置为(xk,yk ),中心的位置为(x0,y0 ),目标函数为计算机模拟例子,解2 :计算机模拟。 计算机仿真实例,解3 :工程仿真物理,工程仿真特点:形象,直观,易于比较,但因为是实物仿真,费用高,速度慢。 计算机模拟的例子,计算机模拟的例子,例子1.2 :跟踪问题我编辑的私舰雷达,发现在距离c的走私船以均匀的速度a沿直线行驶,编辑的私舰立即以最大的速度b跟踪,用雷达跟踪,船的瞬时速度方向作为计算机模拟的例子,如坐标系被选择为:如果指名船的初始位置为起点(c,0 ),走私船的初始位置为起点(0,0 ),走私船的行进方向为y方向,则将指名船设为移动点d,将走私船设为移动点r。 在时刻t,作为提名船位置为D(x,y )、走私船的位置为R(0,at )的计算机模拟的例子,提供算法:初始值:的初始时刻t0、时间步骤、速度a, b、通过初始位置c、循环:式(* )计算各时刻的运动点d的坐标d,计算运动点r在各时刻的坐标r .结束部:在d、r的距离小于规定值的情况下结束,作为计算机模拟的例子,如果以直线段连接通过上述算法求出的点d,则追踪曲线循环结束的时间是追击时间。 步骤选择越小,可知所求的曲线越准确。 2个服务员a和b客人随机到达美容院,每分钟有1个客人到达的概率和客人不到达的概率是1/2,其中60%的客人理发只需5分钟,40%的客人理发8分钟试着模拟了最初10分钟的情况。 解:首先假定没有客人,客人到达,服务开始和结束每分钟开始,客人出生:投硬币,正面-客人来的背面-客人不来的时间长度:触摸球,3白2黑,白球,5分钟,黑球,8分钟。 模拟过程:计算机模拟实例,计算机模拟实例,例1.7射击命中率是我方的前沿防御地区,敌人以炮阵(包括两门炮火)为单位干扰和破坏我方。 为了避免我方的打击,敌人伪装了阵地,频繁地改变了射击场所。 经过长期观察,我方指挥所对敌人目标的指示50%正确,我方火力部门在指示正确时,1/3的射击效果可以伤害敌人火炮,1/6的射击效果可以消灭敌人。 现在我们想用某种方法来表现我们对敌人实施的20次打击结果,确定有效射击的比例和破坏敌火炮的平均值。 计算机仿真实例,分析:这是一个概率问题,通过理论计算可以得到相应的概率和期望值。 但是,这只能给出作战行动的最终静态结果,不能显示作战行动的动态过程。 为了展示我们20次射击的过程,现在采用仿真方式。在问题分析中,需要模拟以下两件事: (1) .观察对目标的指示是否正确的模拟有两个结果,各个结果出现的概率为1/2 相反.计算机模拟实例: (2) .指示正确时,我方火力的射击结果表明,模拟中有三个结果:一个火炮可能受伤1/3 (即2/6 ),两个火炮可能受伤1/6,敌方火炮可能受伤1/2 (即3/6 ) 5点:被认为会击败敌人的炮火6点:认为会击败敌人的两个炮火,计算机模拟实例,2 .符号假说, I :模拟的打击次数k1:没有击中敌人炮火的射击总数k2:击中敌人炮火的射击总数k3:击中敌人两门火炮的射击总数. e :有效射击比率E1:20次射击的平均每次伤害敌人火炮数,计算机模拟例子,3 .模拟框图, 计算机仿真实例,4 .仿真结果,计算机仿真实例,5 .理论计算,计算机仿真实例,计算机仿真实例,6 .结果比较,仿真结果和理论计算结果不完全一致,这反映了事件发生的随机性。 多次实验求平均值,仿真值接近理论值。 二、随机数的产生,现实世界充满不确定性。 我们研究的现实对象很难消除随机因素的影响。 为了能够让我们的数学模型实际地描绘出现实的对象,必须要面对这个现实。 概率论是用数学思想和方法处理和研究随机现象的有效工具。 但是,处理复杂系统的随机性很难。 在此介绍一种用计算机模拟随机现象的方法,该方法经常应用于复杂系统动态模拟的研究。 是处理复杂系统随机性的计算机模型。 也是使用计算机研究和解决实际问题的重要方法。 随机现象的模拟,1 .均匀分布的随机数及其发生.随机现象的模拟,实质上是给出随机变量的模拟。 也就是说利用计算机随机生成一系列的数值,如果这些数值的出现遵循一定的概率分布,那么将这些数值称为随机数。 最常用的是均匀分布在(0,1 )区间的随机数,也就是我们得到的数值可以看作均匀分布在(0,l )区间的随机变量的独立取样值。 以后指出其他分布的随机数可以利用均匀分布的随机数来产生,作为随机现象的模拟,在xu (0,1 )、0,1 )区间均匀分布的随机变量x的概率密度f(x )和概率分布函数f(x )分别为:在数学上为: e (x )=x 方差:=1/12,随机现象仿真,下图是均匀分布的密度函数和分布函数的示意图,随机现象仿真,均匀随机数是产生其它随机数的基础。 例如,掷硬币、抽签、统计经验分布都可以产生。 (1)用于生成随机数的方法,包括以下步骤: (2)硬件设备:从实际物理现象的随机元件中生成随机数、放射性粒子的辐射源、电子晶体管的固有噪声等;优点:真随机缺点:外部设备,无法重复的随机现象的模拟,(3)数学式:为了产生伪随机数,在数学式或位移寄存器的移位操作中产生的随机数称为伪随机数。 要生成理想的伪随机数序列是不容易的,因为真随机数只能来自客观的真随机现象本身。 生成伪随机数的通常方法可能需要伪随机数序列:1 )具有理想的随机性和均匀性。 也就是说,统计上验证随机性和均匀性时要求适当的精度2 )产生伪随机数的程序较短,运算速度快,占用计算机的存储器单元较少3 )伪随机数序列的循环周期尽可能大以满足仿真的需要随机现象的仿真可以在需要均匀分布的随机数时使用恒定算法来计算计算机生成的伪随机数。 生成随机数的方法很多,其中乘法被广泛使用。 用于产生均匀分布的随机数的乘法的递归方程式为xn 1=xn(modM ),rn=xn/M。 其中是乘法因子,m是模块。 在上述表达式的右端,m被称为模块(modulus )。 在给出初始值x0 (称为种子)后,计算出的rn为(0, l )

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论