《计算机仿真.pptx》由会员分享,可在线阅读,更多相关《计算机仿真.pptx(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 1. 绪论绪论科学研究通常有三种途径;理认推导、科学实验和仿真模拟。 1.1 仿真的概念仿真的概念人们在认识自然、利用自然的过程中,为了更好地完成这一能动过程,需要对物质世界,乃至非物质世界进行实验研究。例如:l进行一项工程设计l规划一次军事演习l分析人口发展趋势在这些过程中,人们经常要进行:试验、分析、计算、决策等步骤。然而试验分析对某些真实系统可能是不允许的。通常的原因有:l系统还处于设计阶段。并没有真正建立起来,因此不可能在真实系统上进行试验。l在真实系统上做试验会破坏系统的运行。l如果人是系统的一部分时,由于他知道自己是试验的一部分,其行动往往会与平时不一样;因此会影响实验的效果。
2、l在实际系统上做多次试验,很难保证每一次的操作条件都相同。l试验时间太长或费用太大或有危险。 l无法复原。 仿真:仿真:因此,在实践中出现了用模型来代替真实系统做试验的方法,以解决上述无法直接对真实系统进行试验分析的问题。 “仿真”一词译自英文的“simulation”。有关它的定义有多种说法,一种目前比较流行的定义是:仿真仿真是通过对系统模型的试验去研究一个存在的或设计中的系统。 系统仿真:系统仿真:是指用仿真技术来研究各种系统;它大致可分成:l计算机仿真l半物理仿真l全物理仿真系统仿真是一门建立在相似理论,控制理论,系统科学和计算机基础上的综合性和试验性学科。它涉及到多学科领域的知识与经验
3、。计算机仿真:计算机仿真:计算机仿真计算机仿真是借助计算机,用系统的数学模型对真实系统或设想系统进行试验的一门综合性技术。计算机仿真也被称为纯数学仿真,它是一种通过建立与实际系统相符合的数学模型,再运用计算机进行仿真运行,以达到研究系统的目的。 计算机仿真技术是以数学理论、相似原理、信息技术、系统技术及其应用领域有关的专业技术为基础,以计算机和各种物理效应设备为工具,利用系统模型对实际的或设想的系统进行试验研究的一门综合性技术。计算机仿真包含的三个要素计算机仿真包含的三个要素 真实系统,数学模型和计算机。联系这三个要素的基本活动为:模型建立,仿真模型建立及仿真试验(运行),其关系图如下: 真实
4、系统真实系统数学模型数学模型计算机计算机仿真模型建立仿真模型建立仿真试验仿真试验模型建立模型建立1.2 系统、连续系统和离散系统系统、连续系统和离散系统系统和系统模型系统和系统模型作为仿真技术所使用的对象一个实际“系统系统”的简单定义是:按照某些规律结合起按照某些规律结合起来的,互相作用、相互依存的所有元素的集合来的,互相作用、相互依存的所有元素的集合。“系统模型系统模型”定义:为研究系统所收集的为研究系统所收集的有关信息的集合称为有关信息的集合称为“系统模型系统模型”。 为了能把系统中各个元素的主要特征在图中表示出来,常用地方法是把每一个元素用加有说明的方框表示,元素间的规律作用、关系用图论
5、中的连通图的边对应表示。这种方法就是所谓的“系统框图法”。 一个加热炉温度调节系统的示意图一个加热炉温度调节系统的示意图 比较器比较器温度计温度计调节器调节器加热炉加热炉温度偏差温度偏差喷油量喷油量温度温度炉温值炉温值温度温度给定值给定值扰动扰动一个简化的急诊室系统一个简化的急诊室系统 病人分类1:急诊2:发烧3:4:5:打针/取药到达到达病床病床护士护士离院离院医生医生2-5类1类2-4类5类1-4类连续系统和离散系统连续系统和离散系统l连续系统系统状态量随时间连续变化的系统。l离散系统系统状态量只在一些时间点上由于某种随机事件的驱动而发生变化的系统。1.3系统建模与计算机仿真系统建模与计算
6、机仿真因为收集的信息有详细、粗略之分,加之收集的方法和研究的角度不同,所以对应同一个系统就会有多种不同的系统模型系统模型。 系统模型的分类系统模型的分类系统模型系统模型物理模型物理模型半物理模型半物理模型数学模型数学模型静态静态动态动态静态静态动态动态解析法解析法数值法数值法解析法解析法离散离散连续连续面向事件面向事件面向时间面向时间面向进程面向进程物理模型物理模型 物理模型物理模型是用一些实物之间的相互关系和结合规律来反映系统集合元素之间的某些对应关系所建立的模型。“静态物理模型静态物理模型”是把系统按比例缩、放所构成的模型。“动态物理模型动态物理模型”是利用另一类物理系统的元素和待研究系统
7、的元素,在各自的结合规律和相互关系,特别是在动态关系上的相似性所建立起的模型。 物理模型直观形象,逼真度高。但不如数学模型方便。尽管不必采用昂贵的原型系统,但在某些情况下构造一套物理模型也需花费较大的投资,且周期也长,此外在物理模型上做实验不易修改系统的结构和参数。半物理模型半物理模型 半物理模型是指模型中既有数学模型,也有部分物理模型的情况。 特点:l原系统中的某些子系统或部件很难建立准确的数学模型,再加上各种难以实现的非线性因素和随机因素的影响,使得进行数学模型的建立十分困难,将不易建模的部分用实物取代,可以避免建模的困难。l利用半物理模型可以进一步检验系统数学模型的正确性。l利用半物理模
8、型可以检验构成真实系统的某些部件乃至整个系统的性能指标及可靠性;准确调整系统参数和控制规律。数学模型数学模型 “数学模型数学模型”是利用数学符号之间的相互关系和结合规律来反映系统集合元素之间的某些关系而建立的模型。“动态数学模型动态数学模型”建立的数学模型的数学方程式中含有时间变量t, 其中t可以是连续的或离散的取值。例:研究某一商品的市场供求关系:例:研究某一商品的市场供求关系:Q数量数量P数量数量供应线供应线需求线需求线平衡点平衡点数学模型的求解方法数学模型的求解方法利用数学方法对数学模型直接求解属于“解析法解析法”。利用计算机和数值计算法进行求解属于“数值法数值法”。在对系统进行数学抽象
9、时,考虑到求解方法的不同,所建立的数学模型也不同。因此就有了“解析法数学模型解析法数学模型”和“数值法数学模型数值法数学模型”之分。数值法数学模型也可能有较大的区别。计算机仿真仅仅和数值法数学模型有关。数学模型的分类数学模型的分类l系统数学模型根据时间关系可划分为:静态模型静态模型连续时间动态模型连续时间动态模型离散时间动态模型离散时间动态模型混合时间动态模型混合时间动态模型。l根据系统的状态描述及其变化方式,可划分为:连续变量系统模型连续变量系统模型离散事件系统变化模型离散事件系统变化模型连续变量动态系统连续变量动态系统(CVDS) 是指由时间驱动、状态连续变化的一类物理系统。用来描述CVD
10、S 的数学模型的种类很多,例如:l常/ 偏微分方程模型l差分方程模型l系统动力学模型l线性/ 非线性状态空间模型l(广义) 回归模型l自回归(AR) 模型l滑动平均(MA) 模型l受控自回归滑动平均(CARMA) 模型,等等。 离散事件动态系统离散事件动态系统(DEDS) 指受事件驱动、系统状态跳跃式变化、系统状态迁移发生在一串离散时间点上的动态系统。DEDS 建模的常用方法主要有:l排队论方法l网络图或事件图法l形式语言与自动机方法l随机过程描述法l抽象代数方法等 确定型模型与随机型模型确定型模型与随机型模型 确定型模型确定型模型是指这样一类模型:在给定系统某初始状态,它在经历相同的输入序列
11、的影响后,总是唯一地经历相同的状态序列。随机型模型随机型模型对相同的输入序列,每次系统从某初始状态出发所经历的状态变化是随机的。对同样的系统,由于元素的性质不同,可能在某种场合下是确定型模型,但在另一种场合下是随机型模型。 例:一个由相同电阻例:一个由相同电阻R构成的四端网络:构成的四端网络: RRRR R RUiU0计算机仿真的一般步骤计算机仿真的一般步骤1.调研系统,描述问题。对待研究的真实系统进行调研,将要研究的问题尽可能描述清楚。2.收集数据建立数学模型3.拟订运行方案,加工成仿真模型。4.编写仿真源程序5.核实与致效。6.模型运行7.输出结果分析将数学模型加工为仿真模型(将数学模型加
12、工为仿真模型(3)采用的方法:)采用的方法:l根据所用的仿真语言工具的特点,对数学模型进行必要的结构变换,使之适用于所用的语言工具。l在不影响精度的情况下,做线性化处理。l确定仿真时间和采样周期,尽可能减少仿真运行时间。 1.4计算机仿真的应用及发展简介计算机仿真的应用及发展简介由于计算机仿真是在(数学)模型上做试验,因此具有经济、安全和试验周期短的特点。这些特点使得计算机仿真技术作为分析系统、设计系统及训练人员的一种手段和工具,已成为广泛应用于(几乎是所有)工程领域与非工程领域中。1.4.1 计算机仿真的应用计算机仿真的应用军事上的应用军事上的应用 在汽车工业中的应用在汽车工业中的应用 在医
13、学中的应用在医学中的应用 应用于娱乐方面应用于娱乐方面 对核爆炸过程的模拟对核爆炸过程的模拟风洞试验模拟风洞试验模拟模拟训练模拟训练 1.4.2 仿真技术的发展仿真技术的发展仿真计算机的发展仿真计算机的发展仿真计算机,是指运行仿真对象模型的计算机,根据仿真应用的需求,仿真机可以用通用计算机,也可以设计专用的仿真计算机。50-60年代:模拟计算机60-80年代: 数字/模拟混合计算机80年代以后:数字仿真计算机仿真软件的发展仿真软件的发展l5560年代汇编语言编程 l6065年代发表了CPSS和SIMULA通用仿真语言,提出了控制和仿真语言(OLS GASP)l6667年代第2代仿真语言,GPS
14、SII, III和 GPSS;SIMSCRIP II, II-PL-US等l7178年代仿真语言大大加强了老版本功能,SIMSCRIP II提出了进程概念,加进了连续仿真功能。GPSS则增加了链接拥护编写的FORTRAN和PL/1子程序的功能。仿真软件的发展仿真软件的发展l7980年代中向连续、离散、混合语言发展向多种程序结构发展,支持(面向进程,面向事件和面向时间)的建模功能。并允许用户编写的非标准“事件”子程序,以实现离散事件和连续类型之间的组合。把以“程序”为设计目的移向以“模型(对象)”为设计目的。如Petri网语言。研制软件开发工具,用计算机维护需求文档。向综合、集成化方向发展仿真软
15、件的发展仿真软件的发展80年代中90年代l智能仿真环境,将AI技术用于仿真l可视化程序设计技术的应用, 结果可视化,动画技术 (SIMAN-V, SMSCRIPT II 5类自然语言)l数据库技术的介入90年代lSIMPLE+ (C+)lSIMFACTORY lAUTOMOD/AUTOSCHED/AUTOSTAT lPROMODEL/MEDMODEL/SERVICEMODEL lTAYLOY-II 现代仿真技术新发展现代仿真技术新发展建模与仿真方法学建模与仿真方法学l人工智能辅助建模方法学及混合模式(multparadigm )建模方法学lVV&A(Verification Validatio
16、n and Accreditation) 技术仿真算法仿真算法l将系统模型转换成仿真模型的一类算法并行算法,算法的有效性等仿真软件仿真软件l一体化(局部智能化)建模仿真环境l支持分布式交互仿真环境的综合仿真环境l基于标准化的形式体系结构现代仿真技术新发展现代仿真技术新发展仿真计算机仿真计算机/仿真器仿真器高性能仿真计算机研究主要在:l处理器与节点结构,l并行程序设计模型与并行化编译器l支持自动并行化结构的新的概念与框架分布式仿真技术分布式仿真技术分布交互仿真(DIS :Dist ributed Interactive Simulation ) 是指采用协调一致的结构、标准、协议和数据库,通过局
17、域网或广域网,将分散在各地的仿真设备互联,形成可参与的综合性仿真环境。l美海军的“作战部队战术训练系统”(BFTT)l空军的“联合建模与仿真系统”(JMASS)l“多兵种战术训练系统”(CATT)“建模与仿真计划建模与仿真计划”技术框架的核心技术框架的核心“建模与仿真计划”技术框架的核心“高层体系结构”(HLA)。HLA:96.8.完成基础定义,2000.9.被IEEE接受为标准。HLA 是一种一体化结构,现成为开发模拟与仿真应用的一种公用结构。采用HLA技术体制,可以将多个仿真应用连接起来组成一个大型的虚拟世界。HLA 按照面向对象的思想和方法构建仿真系统,它是在面向对象分析与设计的基础上划
18、分仿真成员,构建仿真联邦(Federation) 的技术。2. 随机变数的产生方法随机变数的产生方法2.1 随机变量、概率函数和随机数随机变量、概率函数和随机数 l确定性活动确定性活动在准确地重复一定条件下,其变化的结果总是可以确定的;或是根据其过去的状态,在相同的条件下可以预言将来的发展变化。l随机性活动随机性活动在相同的条件下进行重复实验,每次结果未必相同;或者是事先知道其过去的状况,在相同条件下未来的发展事先不能确定。 随机试验、随机事件和基本事件随机试验:随机试验:l可以在相同的条件下重复进行可以在相同的条件下重复进行l每次试验的结果可能不止一个,并且可能事先明确试验每次试验的结果可能
19、不止一个,并且可能事先明确试验的所有可能结果的所有可能结果l进行试验之前不能确定哪一个结果会出现进行试验之前不能确定哪一个结果会出现随机事件:随机事件:在随机试验中,对每次试验可能出现,也可能不出现,而在随机试验中,对每次试验可能出现,也可能不出现,而在大量重复试验中却具有某种规律的事情,称之为此随机试验在大量重复试验中却具有某种规律的事情,称之为此随机试验的随机事件。简称的随机事件。简称“事件事件”。基本事件:基本事件:在一个随机试验中,它的每一个可能出现的结果是一个随在一个随机试验中,它的每一个可能出现的结果是一个随机事件。它们是这个试验的最简单的随机事件。我们称这些简机事件。它们是这个试
20、验的最简单的随机事件。我们称这些简单的随机事件为单的随机事件为“基本事件基本事件”。 样本空间和随机变量样本空间:样本空间:为了便于研究随机试验为了便于研究随机试验E,将随机试验,将随机试验E的所有基本事件所的所有基本事件所组成的集合叫做组成的集合叫做E的的“样本空间样本空间”,记为,记为S。S中的元素就是中的元素就是E的基本事件。基本事件也称的基本事件。基本事件也称“样本点样本点”。 随机变量:随机变量:设设E是随机试验,它的样本空间是随机试验,它的样本空间S=e,如果对每一个,如果对每一个eS有一个实数有一个实数X(e)和它对应,这样就得到了一个定义在和它对应,这样就得到了一个定义在S上的
21、上的实值单值函数实值单值函数X(e),称,称X(e)为为“随机变量随机变量”。样本空间样本空间事件事件 数域数域实数实数 e SG X(e)映射离散型随机变量:离散型随机变量:随机变量的全部取到的值是有限个,或可列无限多个。这种随机变量叫做“离散型随机变量离散型随机变量”。要掌握一个离散型随机型X的统计规律,必须知道X的所有可能的值(xk),以及每个可能值的概率(pk)。 设离散型随机变量X所有可能的取值为xk (k=1,2,), X取各可能值的概率,即事件X=xk 的概率为:PX=xk=pkk=1,2,pk满足如下2个条件:(1)pk0k=1,2, (2)11kkp离散型随机变量的分布函数离
22、散型随机变量的分布函数设X是一个随机变量,x是任意实数,函数称为X的分布函数分布函数。由定义可知:0F(x)1x x12= x2= .所需的0,1均匀分布随机序列。同余法产生随机数序列的递推公式:同余法产生随机数序列的递推公式: xn+1=(axn+c) Mod M例:设a=5,c=3,M=8,x0=1,用混合同余法产生伪随机序列。解:xn+1=(5xn+3) Mod 8 结果:x1 x2x3x4x5x6x7x8x9x10032547610303/82/85/84/87/86/81/803/8混合同余法选择参数的经验性的准则:混合同余法选择参数的经验性的准则:lc和M互质(没有大于1的公因子)
23、lM的每个质数因子也是a-1的因子l若4是M的因子,则4也是a-1的因子在2进制计算机中,通常取M=2n,n为机器字长。a=4k+1(k=0,1,2,),为了减少相邻两数xn和xn+1之间的相关性,应满足:M1/2aM-M1/2,一般为a50时,设统计量:U渐近服从正态分布N(0,1)。 kNrUk2.4 其它分布随机数产生方法其它分布随机数产生方法2.4.1 各种离散分布随机数的产生各种离散分布随机数的产生(1)均匀的离散分布给定N个连续整数x1,x2,xn,我们以相等的相等的概率概率从中选出一个数这样重复下去,所产生的数列就是一个离散均匀分布的随机数序列。每次的取样值: 式中yk(1)是在
24、0,1 上均匀分布的随机数,N=xn-x1+1。1xyNxkk(2)非均匀的离散分布非均匀的离散分布 给定N个整数x1,x2,xn,我们以相应的概率相应的概率(经验分布) p1,p2,pn ,从中选出一个数进行输出,这样重复下去,便产生了一个非均匀分布的的离散随机数序列。xix1x2xnpip1p2pn方法如下:方法如下: l计算(累积)分布函数:lyi是一个0, 1 均匀分布随机数。(0yi1)l如果Fk-1ykFk,则把相应的xk选出,作为这次取样的输出值。1), 2 , 1(, 010nkiikFnkpFF例:产生具有参数的泊松分布的随机数: 该分布可描述:事件相继出现的时间间隔服从副指
25、数分布(完全随机)条件下,在时间长度为t,平均到达率为=1/T时,发生k个事件的概率。 ), 2 , 1 , 0(!)(),(kktetkPkt由P(k, t)的定义出发,计算在给定时间t中发生了k 个事件的步骤如下(已知t和):l产生0, 1 上均匀分布的随机数xi,l计算指数分布的随机数l如果tti则k=0;否则如: ,则k=n。,2, 1)ln(1iixti111niiniittt2.4.2 非均匀的连续分布随机数的产生非均匀的连续分布随机数的产生(1)反函数法(概率积分变换法,反变换法)求具有指定分布规律的随机数xi与在0,1上均匀分布随机数yi之间的关系式。基本定理:如果随机变量X的
26、分布函数F(x)连续,则随机变量是0,1上均匀分布的随机变量。 xxFdxxfy)()(具体操作:具体操作: l求出y=F(x)的反函数,x=F-1(y)。l利用0,1均匀分布的随机数产生算法计算ykl计算xk=F-1(yk) 为所需要的随机数。例:产生a,b上均匀分布的随机变量X。a,b上均匀分布的密度函数:othersbaxabxf0,1)(由上式可计算其分布函数:由上式可计算其分布函数:,1 , 0)()()(1)(1baxyayabYFXxFabaxdxabdxxfyxaxa指数分布指数分布概率函数是:l产生算法:l产生0,1) 均匀分布的随机数xl计算输出y是指数分布的随机数000)
27、(xxexft)1ln(1)(,1)()ln(110yyFxyedxexFxyxxx正态分布正态分布概率函数:对此式无法直接求反函数F-1(X)。 xeNx222)(221),(坐标变换法坐标变换法 l在0,1均匀分布的随机数发生器中取两个相独立的随机数u1,u2。l lx1和x2是一对符合正态分布的随机数12122221112sin)ln2(2cos)ln2(uuxuux近似抽样法近似抽样法 l产生n个相互独立的0,1均匀分布的随机数序列:x1,x2,xnl 在取n=12时,简化为 lu=y+u为正态分布的随机数12)2(1nnxynii61niixy(2)舍选法舍选法可以用于产生任意有界量的随机变量。若随机变量X的密度函数f(x)中X的取值的下限和上限为a和b(xa,b),f(x)的上确界为c(f(x)c),运算步骤为: 计算两个独立的0,1均匀分布随机数u1,u2 计算x0=a+u1*(b-a)y0=c*u2 如果 y0f (x0),则接受x0作为抽样输出;否则重复。
限制150内