您的当前位置:首页正文

计算机仿真论文

来源:个人技术集锦
 计算机仿真课程的学习心得

从认识论角度,仿真是对现实世界的模拟,但是现实世界是庞大的,无界的,在科学研究过程中,我们经常把研究内容界定在一定的范围,这个范围我们称之为系统,在仿真研究中,我们也是对现实世界中的某个系统进行仿真。称之为:系统仿真。现对各个系统仿真方法作一简单介绍:

1.连续系统仿真

定义:连续系统:系统状态变化是连续的。 1.1集中参数系统的建模

连续系统的模型集中参数、分布参数。以微分方程表示。我们以几个例子来说明连续系统的建模。

例1:一个培养盒中有100单位细菌,已知细菌增长速度和细菌总数成正比,24小时候细菌总数量是400单位,求任意时刻t细菌总数模型N(t).

解:

dN(t)/dt = kN(t) N(0)=100

N(24)=400

例2:RLC电路,求输入和输出关系。IO

由电压定律得:Ldi(t)/dt+1/C fi(t)dt +Ri(t)=Ui(t) 消去中间变量i(t)=duo(t)/dt*C

LCdU02(t)/dt2 +RC dU0(t)/dt+U0(t)=Ui(t)

另外,速度、加速度、运动阻尼等存在变的问题等都可以用微分方程表示出来。另外还有例如世界经济模型、人口增长模型等。 1.2集中参数系统的仿真方法 1.2.1数值积分法

数值积分就是对常微分方程建立离散形式的数学模型---差分方程,并求出其数值解。 例如:dy = f(y,t), y(t0)=y0 一阶微分方程。数值积分就是求出t0----tn一系列离散点对应的y值。h=tn-tn-1,称为步长。常用的积分方法: (1) 欧拉法

对方程进行积分(t0-t1),可以得到y(t1)=y0+ff(y,t)dt,当步长足够小时,用矩形面积表示积分可以得到y(t1)=y0+hf(y0,t0),进一步可以写出一般形式。n+1,n (2) 梯形法

使用梯形面积代替矩形面积。 (3) 龙格----库塔法

使用泰勒级数展开在tn点。高阶导数不好求,用几个点上的函数值f的线性组合来确定其中的系数。实质上是将欧拉法/折线法再进一步细化。消除误差。

(4) 其他方法:亚当穆斯法,是一种线性多步法。不能自启动,需要先用其他方法计算, k-1个点,然后才能启动k步的亚当穆斯法。根据这K-1个值,利用牛顿后插值公式近似计算f(y,t)。

数值积分法中的几个问题: (1)变步长

在保证仿真过程满足一定精度的前提下,为使计算量尽可能小,尽可能采用较大的步长。 两个问题:误差的估计,计算量的估计。

常用的方法:对分策略,计算局部误差,如果>最大误差步长减半;如果<最小误差,

步长加倍;否则不变。另外还有:最优步长法,估计下一步的最大步长;Gear方法。 这些方法都是构造出来的方法,在数学中,构造是数学学科发展的一个重要的方法。从数的发展历史可以看出。正数(正整数、分数、正有理数)很好理解,计数的需要,负数是什么概念呢?后来,又出现了虚数,虚数的物理意义在数学界一直没有很好的解释 (2)算法误差和稳定性

误差:截断误差和舍入误差

基于泰勒展开攻势的数值计算方法都有截断能够误差

欧拉法h2>梯形法h3>4阶龙格库塔法h5>亚当穆斯法h6 每一步积分都会带来舍入误差,随着运算的进行,舍入误差有可能被放大。例如1/9=0.11,两边同乘以9以后误差被扩大。

稳定性问题:误差的积累是否受到控制。

判断数值积分法使用试验方程,如果数值积分公式为yn1(h)yn 当差分方程满足稳定条件(h)1,算法才稳定。

因此,可以得到各种算法的稳定条件。

提示:在选择步长时,应对算法的稳定性进行判断。

(3)步长的选择

从数值计算角度,步长越小,截断误差越小,但同时步数增多,所以舍入误差增大。 因此,步长应进行合理选择。一般要小于系统的时间常数的1/10。

时间常数

(4)算法的选择

没有一种算法是最好的,如果函数形式比较简单,则适合采用单步法,如果精度要求低,则欧拉法,否则可以采用龙格库塔法,当函数形式比较复杂时,计算量大,宜采用多步法,如亚当穆斯发,这类方法每积分一步只需计算一次函数值。 (5)病态系统仿真

x11/2x21/3x311/61/2x1/3x1/4x13/12,如果采用近似数字代替分数,则答案为x1=-6.22,1231/3x11/4x21/5x347/60x2 = 38.25, x3=-33.65 而真正解x1=x2=x3=1 1.2.2离散相似方

离散相似法就是将连续系统的数学模型进行离散化处理,得到其等价的模型,对于离散化模型进行求解的仿真方法。常用的方法是加入采样开关和零阶保持器。

离散相似法的精度和校正问题:精度是指离散相似模型与原连续系统模型等效的程度。由于加入了虚拟的采样开关和保持器,保持器不可能完整无误地将连续信号重构出来,因此,离散相似模型必然存在误差。一般来讲,采样的间隔越大,仿真的误差越大,采样频率必须满足采样定理,即fsfm,fs为采样频率=1/T,fm为连续信号的最大频率。实际中,采样频率可按照最大频率的30-50倍进行选择。

2.离散事件系统仿真

指受事件驱动、系统状态跳跃式变化的动态系统,系统状态的迁移发生在一串离散事件点上。离散系统缺乏公认的、通用的数学模型,分析求解困难。 2.1离散事件系统的基本要素

实体:临时实体,永久实体,其中的实体包括船、闸门。

问题:开闸的人算不算实体?再问,他老婆和孩子算不算实体?

解释:第一问好像可以也好像不可以。第二问大家都可以肯定不是。其实可以不可以

要跟建模目的相联系,如果我们要仿真人的行为,例如,他要去上厕所,他要喝水,他的操作水平不太熟练,她的责任心等,他就是实体了。如果我们认为他就不会出问题,永远在规定的时刻启动闸门开关,则可以不考虑他的行为。

如果我们要仿真他上下班的过程,例如,他要送小孩上学,他老婆有心脏病,那么,

它老婆孩子就是实体了。所以,实体的选择与仿真目的相联系的。

事件:引起系统状态变化的行为称为事件。例如:船只到达、开闸放船、关闸等。 活动:事件发生的过程称为活动,它是实体在两个事件间保持某一状态的操作过程。船只到达后直到开始放行事件之间的过程,成为排队活动。

进程:由某类实体相关的事件和若干活动组成的集合,描述了这些事件的相互逻辑关系和时序关系。

船只过闸服务进程 排队活动 服务活动 船只到达事2.2建模步骤

过闸服务开始事件 过闸服务结束事 (1) 明确仿真目的 例如上述船只过闸模型,如果要考察船闸服务事件的长短对船闸利用率的影响,则是一种模型,如果考虑闸门开关的控制和动力学特性,则是另一种模型。 (2) 正确描述系统

组成成分:选择合适的实体

描述变量和参数:船只到达间隔时间,船闸服务过程事件、队列长度 相互关系:事件的发生顺序,流程图

(3) 建立仿真模型

仅有事件表和顺序无法仿真,必须要知道确切的时间表,即仿真系统建模。例如,假设船只到达的事件间隔的随机数,服务时间随机数等。

(4) 输出函数的确定

根据仿真目的统计反映系统性能的数据。例如平均等待时间、最大队列长度等。 离散事件系统中的关键在于系统参数的随机性,随机一般使用分布来表达。 2.3随机变量的抽样方法

在仿真中,说某个事件的发生服从某个分布,但是计算机不知如何处理该分布,只知道在某个确定的时刻让该事件发生,这个确定的时刻如何设定,才可以让所有时刻的取值服从该分布呢?即如何实现事件的抽样。让样本符合分布。

例如:轮船到达时间服从均值为10,方差为2的正态分布,如何在计算机中产生随机时间,让轮船到达? 2.3.1变换抽样法

我们知道,所有事件的发生概率和为1。由分布函数的定义可知,F(X1)表示X<=x1的发生概率,则F表示对应的x的发生概率,曲线陡对应的x出现的概率高,平缓部分对应的事件出现的概率低,概率高低正好满足该分布。如果u是在F(x)上的均匀分布,则u是随机的,因此,F1(u)对应的值出现的概率满足F分布。因此,用u作为自变量的F的反函数取值样本能够代表事件发生的分布。

即设一随机变量的概率密度为f(x),则其抽样方法为: 首先求其分布函数F(x) 求其反函数xF1(u),

令u为[0,1]范围内的随机数,则x的抽样值服从 f(x)分布。 (1) 均匀分布随机变量

1,axbf(x)ba,

0,其他则F(x)xadubaxabau,可得xa(ba)u

(2) 指数分布随机变量 ex,x0 f(x)0,x0,则

F(x)e0xudue1xu,可得

x1L(1n。 )u2.3.2离散型分布的直接取样法

当X是离散型随机变量时,设piP{Xxi},给定一个随机数r(0,1],当

k1ki1piri1pi时,xxk。

n1例如,设X服从泊松分布P(),其抽样方法是,当k0knk!rek0kk!时,xn 。

(1) 产生(0,1)均匀随机数uI (2) 读入累计概率分布函数F(I)

(3) 将uI与F(I)由小到大顺次比较,当F(I1)uIF(I),则X=I (4) 重复1-3步骤,则可得到X的抽样值。

直接抽样法的特点是直观、方便。但由于许多随机变量的累积分布函数无法用解析函数给出,有些随机变量的累积分布函数的反函数不存在或难以求出,即使反函数存在,但计算困难,因此在实际中直接抽样法受到很大的限制。 2.3.3舍选法

L为f(x)的最大值,取u2和Lu1两个随机数,如果,Lu1〈f(u2),则抽样成功,否则舍弃,即Lu1落在分布曲线的下面,用u2和Lu1的取值概率来表示其密度,如果在u2的密度高,则其取值的成功可能性就大,因此,其能够代表该随机变量的分布密度。 2.3.4随机数的产生

乘同余法:即xi1axi[[] 表示取整操作。

m的取值:取m=2,j是某个整数,一般m选择在机器所能表示数的范围内,同时,还要考虑公式计算得到的伪随机数序列的周期为m/4,它应大于试验的持续期。例如产生8000个数的序列,则m应接近32000.

paxim]m

j

a的取值:a22最接近而又满足a8k3的那个数,其中k为任意整数,p为机器字长。

2.4库存系统仿真

库存系统是一种常见的离散事件系统。国内外大企业正在推行的一种JIT管理模式,Just in time,精细化管理、零库存管理,日本丰田汽车能够实现零库存管理,在丰田工厂周围,分布着其零件供应商。丰田精细的计算着自己的需求,但没有仓库。降低成本,加速企业资金流动,规避市场风险。库存仿真系统是对企业进行研究的一种方式。 除了传统的企业仓库,还有银行的储备金、技术人才储备(教育战略研究)、超市上货等也属于库存系统。 库存系统:

需求:是库存系统的输出,由于需求,使库存量不断减少。需求有确定性和随机性两种。 订货:库存系统的输入。由于订货,使库存增加。订货有滞后时间。因此,需要提前订货,成为提前时间。包括随机和确定两种。库存库存系统中的费用包括:保管费、订货费、缺货费。

库存系统可以使用解析法来求解,对于复杂的库存系统,需要使用仿真的方法。

3.发展趋势

近年来, 由于问题域的扩展和仿真支持技术[ 18, 19 ]的发展, 系统仿真方法学致力于更自然

地抽取事物的属性特征, 寻求使模型研究者更自然地参与仿真活动的方法, 等等。在这些探索

的推动下, 生长了一批新的研究热点:

( 1) 面向对象仿真(Object oriented Simulation OOS) [ 11 ]: 从人类认识世界模式出发, 使

问题空间和求解空间相一致, 提供更自然直观, 且具可维护性和可重用性的系统仿真框架。 (2) 定性仿真(Q ualitatuve Simulation Q S) [ 20 ]: 用于复杂系统的研究, 由于传统的定量数

字仿真的局限, 仿真领域引入定性研究方法将拓展其应用。定性仿真力求非数字化, 以非数字

手段处理信息输入、建模、行为分析和结果输出, 通过定性模型推导系统定性行为描述。 (3) 智能仿真( Intelligence Simulation IS) [ 21 ]: 是以知识为核心和人类思维行为作背景的

智能技术, 引入整个建模与仿真过程, 构造各处基本知识的仿真系统(Know ledge Based Simu2

lation System KBSS) , 即智能仿真平台。智能仿真技术的开发途径是人工智能(如专家系统、

知识工程、模式识别、神经网络等) 与仿真技术(如仿真模型、仿真算法、仿真语言、仿真软

© 1994-2007 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 78 计算技术与自动化2002 年12 月

件等) 的集成化。因此, 近年来各种智能算法, 如模糊算法、神经算法、遗传算法的探索也形成了

智能建模与仿真中的一些研究热点。

(4) 分布交互仿真(D istributed Interactive Simulation D IS ([ 11 ]: 是通过计算机网络将分散

在各地的仿真设备互连, 构成时间与空间互相偶合的虚拟仿真环境。实现分布交互仿真的关键

技术是: 网络技术、支撑环境技术、组织和管理。其中: 网络技术是实现分布交互仿真的基础, 支

撑环境技术是分布交互仿真的核心, 组织和管理是完善分布交互仿真的信号。

(5) 可视化仿真(V isual Simulation V S) [ 23 ]: 用以为数值仿真过程及结果增加文本提示、

图形、图象、动画表现, 使仿真过程更加直观, 结果更容易理解, 并能验证仿真过程是否正确。近

年来还提出了动画仿真(A nimated Simulation A S) , 主要用于系统仿真模型建立之后动画显

示, 所以原则上仍属于可视化仿真。

( 6) 多媒体仿真(M ultimedia Simulation M S) [ 22 ]: 它是在可视化仿真的基础上再加入声

音, 就可以得到视觉和听觉媒体组合的多媒体仿真。

(7) 虚拟现实仿真(V irtual Reality Simulation VRS) [ 23 ]: 是在多媒体仿真的基础上强调三

维动画、交互功能, 支持触、嗅、味知觉, 就得到了VR 仿真系统。

因篇幅问题不能全部显示,请点此查看更多更全内容