《计算机仿真概述》由会员分享,可在线阅读,更多相关《计算机仿真概述(8页珍藏版)》请在金锄头文库上搜索。
1、计算机仿真概述引言仿真技术作为一门独立的科学已经有50 多年的发展历史了,他不仅用于航天、航空、 各种系统的研制部门,而且已经广泛应用于电力、交通运输、通信、化工、核能等各个领域。 特别是近 20 年来,随着系统工程与科学的迅速发展,仿真技术已从传统的工程领域扩充到 非工程领域,因而在社会经济系统、环境生态系统、能源系统、生物医学系统、教育系统也 得到了广泛的应用。在系统的规划、设计、运行、分析及改造的各个阶段,仿真技术都可以发挥重要作用。 随着研究对象的规模日益庞大,结构日益复杂,仅仅依靠人的经验及传统技术难以满足愈来 愈高的要求。基于现代计算机及其网络的仿真技术,不但能提高效率,缩短研究开
2、发周期, 减少训练时间,不受环境及气候限制,而且对保证安全、节约开支、提高质量尤其具有突出 的功效。现在,仿真技术成已为各个国家重点发展的一门高新技术,从某种角度上,它代表着一 个国家的科技实力的强弱,同时在某些方面也制约着一些国家的现代化建设和发展。从理论上讲,我们日常生活中以及自然界中碰到的一切问题,都可以利用计算机进行模 拟。因此,要跟上时代的发展要求,学习和了解一定的仿真技术是必要的。 一、系统、模型与仿真在认识仿真之前,首先要了解与仿真相关的两个概念:系统与模型。系统:一般来说,所谓“系统”就是指按照某些规律结合起来,相互作用、相互依赖、 相互依存的所有实体的集合。描述系统的“三要素
3、”一一实体、属性、活动。实体确定了系 统的构成;属性也称为描述变量,用来描述每一实体的特性;活动定义了系统内部实体之间 的相互作用,从而确定了系统内部发生的过程。举个例子说,我们可以把一个理发馆定义为 一个系统。该系统的“实体”包括服务员和顾客,顾客到达模式和服务质量分别是顾客和服 务员两个实体的“属性”,而整个服务过程就是“活动”。模型:所谓“模型”就是系统某种特定功能的一种描述,它集合了系统必要的信息, 通过模型可以描述系统的本质和内在的关系。它一般分为物理模型和数学模型两大类。物理 模型与实际系统有相似的物理性质,它们与实际系统外貌相似,只不过按比例改变尺寸,如 各种飞机、轮船的模型等。
4、数学模型是用抽象的数学方程描述系统内部各个量之间的关系而 建立的模型,这样的模型通常是一些数学方程。如带电粒子在电场中运动的数学模型,我们 关心的是粒子的速度、位移随时间的变化。于是我们将系统的特征如电场强度,时间,粒子的荷质比全部数量化,根据动力学列出它们之间的关系,也就是数学模型1)2)dv qEdt m dx二 vdt一般的计算机模拟模型都是数学模型 有了以上的知识,我们就可以得出仿真的定义:明确研究系统,建立系统模型,然后 在模型上进行试验,这一过程称为仿真。二、仿真的意义及目的 仿真的目的在于:在系统研制之前用于规划、评价和研究,通过系统仿真可以评价系 统某一部分的性能,可以估价系统
5、各个部分或各个分系统之间的相互影响,以及它们对整体 性能的影响,可以比较各种设计方案,从中获得最佳设计;在系统研制中间用于设计和精密 分析,可以对一些新建的理论、假设进行校验;在系统研制成功后则用于考核设计和训练系 统的操作人员等。可能有人会说,这些事情在真实系统上做不是更好吗?为什么要仿真呢?主要原因在 于:(1)系统还处在设计阶段,真实的系统尚未建立,人们需要更准确地了解未来系统的 性能,这只能通过对模型的实验来了解。(2)在真实系统上进行实验可能会引起系统破坏或是发生故障,例如,对于一个真实 的化工系统或是电力系统进行没有把握的试验将会冒巨大的风险。(3)需要进行多次试验时,难以保证多次
6、系统试验的条件都相同,因而无法准确判断 试验结果的优劣;(4)系统试验时间太长或费用昂贵; 早期的仿真主要是物理仿真(或称实物仿真),采用的模型是物理模型,物理仿真的优 点是直观、形象化,如柴油机模型,建筑物模型等。但是要为系统构造一套物理模型,尤其 是十分复杂的系统,将花费很大的投资,周期也很长。另外,在物理模型上做实验,很难修 改其中的参数,改变系统结构也比较空难,而且它对实际的贡献并不大。至于社会、经济现 象和生态系统就更无法用实物来做仿真实验了。故现在广泛采用的是数字仿真,为所研究的 系统建立合适的数学模型,通过计算机求出相应的数值解并作出相应的二维或三维图象、动 画。在某些系统的研究
7、中,还把数学模型与物理模型以及实物结合起来一起实验,这种仿 真称为数学物理仿真,或称为半实物仿真。现在我们说的计算机仿真主要是数字仿真,或是半实物仿真。它主要包括三个要素: 系统、系统模型与计算机。联系这些要素的三个基本活动是:模型的建立(抽象出数学关系 式、仿真模型的建立(选择合适的算法)和仿真实验(运行程序并进行分析)。计算机仿真主要研究数字仿真方法、仿真语言和仿真技术、仿真计算机及其应用。仿 真方法是包括仿真算法、仿真模型的建立、仿真模型的误差计算以及仿真算法的选择等;仿 真语言是指仿真的程序设计;仿真技术是研究系统最优化的问题;仿真计算机则是研究仿真 专用计算机的结构和特点。三、仿真的
8、主要类型1、根据被研究系统的特征可以分为两大类:连续系统仿真及离散事件系统仿真。连续 系统仿真是指对系统状态变量随时间连续变化,其基本特点是能用一组方程来描述。离散事 件系统仿真则是指系统状态只在一些时间点上由于某种随机事件的驱动而发生变化的系统。 在两个事件之间状态变量保持不变,也即是离散变化的,这类系统的数学模型一般很难用数 学方程来描述,通常是用流程图或网络图来描述。2、按使用的计算机分类,则有:1)模拟计算机仿真。由于模拟计算机能快速解算常 微分方程,所以当采用模拟计算机仿真时,应设法建立描述系统特性的连续时间模型。由于 在模拟计算机上进行的计算是“并行的”,因此运算速度快。当参数变化
9、时,容易掌握解的 变化,这些是主要优点;主要缺点是:在处理多变t时或非线性较强的场合,对于偏微分方 程难以求得高精度的解。2)数字计算机仿真。60 年代后,由于数字计算机的发展,它已逐 步取代早期采用的模拟计算机,而成为仿真技术的主要工具,它适用于把数学模型当作数字 计算问题,用求解的方法进行处理,而且由于数值分析及软件的发展,使数字式仿真领域不 断扩大,由于数字计算机不仅能解算常微分方程,而且还有较强的逻辑判断能力,所以数字 式仿真可以应用于任何领城。如系统动力学问题,系统中的排队、管理决策问题。主要缺点 是计算速度不如模拟式仿真。但近年来已开发了大量数字仿真的软件,因而提高了仿真工作 的自
10、动化程度。混合计算机仿真。这是一种将模拟式仿真与数字式仿真的优点结合起来, 通过一套混合接口(如 A/D, D/A 转换器)组合在一起的混合计算机系统。它兼有模拟计算机 的快速性及数字计算机的灵活性,它不仅能解决系统的动力学间题,而且也能解决许多排队、 管理决策等问题,并且还包括流程图形式的模型。这种仿真的结果是模拟模型和数字模型的 最优系统,混合式仿真最近也应用于解偏微分方程和求最优值的问题。缺点是造价昂贵,难 于在民用部门推广。四、计算机仿真的步骤和仿真技术计算机仿真,概括地说包括“建模一实验一分析”这三个基本部分,即仿真不是单纯 的对模型的实验,而且包括从建模到实验到分析的全过程。因此进
11、行一次完整的计算机仿真 应经过以下步骤:1、明确仿真对象(系统)。要明确以什么样的精密度来校真对象的哪一部 分和仿真什么样的行为,并根据仿真的目的确定所研究系统的边界及约束条件,以及系统的 规模及变量个数等;2、建立数学模型(或流程图)。建立什么样的数学模型与建模的目的有 密切的关系。如果仅仅要求了解系统的外部行为,则要设法建立一个描述系统的外部行为的 外部模型;如果不仅要了解系统的外部行为,还要求了解系统内部的活动规律,就要设法建 立一个描述系统输人集合、状态集合及输出集合之间关系的模型,称为内部模型或状态模型;3、模型变换。即把数学模型变成计算机可以接受的形式,称为仿真模型;4、设计仿真实
12、 验,例如利用数学公式、逻辑公式或算法等来表示实际系统的内部状态和输人输出间的关系; 5、模型装载。把模型装人计算机;6、仿真实验。模型装人计算机后,便可以利用计算机 对模型进行各种规定的实验,并测定其输出;7、实验结果的评价和分析。首先要确定评价 标准,然后反复进行仿真,对诸次仿真的数据进行分析、整理,从代替方案中选出最优系统 或找出系统运用的最优值,列出仿真报告并输出。 四、现代仿真计算机微型计算机仿真时代50 年代仿真的主要工具是模拟计算机,60 年代是混合计算机的黄金时代,70年代后期 利用超大规模集成电路研制成的微型计算机。体积小、功耗少价格便宜,功能也较齐全,因 而在仿真技术上得到
13、了广泛的应用。现在,微型计算机已成为系统仿真的主要工具,特别是 80 年代以后,越来越多的训练仿真系统采用微型计算机作为仿真计算机。现在,对于一般 的系统,我们都可以在宿舍或是家里的个人PC上进行仿真。五、仿真技术的应用比如,我们想决定到底是去北京旅游好呢?还是去上海好呢?对于这样的问题,也可以 进行模拟,但我们得懂得相关的运筹学知识。仿真技术是世界发达国家十分重视的一门高新技术,广泛应用于航空、导弹、原子能、 宇航等控制系统。随着仿真的发展,在化工、冶金、电力、汽车制造等工程系统中,仿真技 术也得到了广泛的应用。 1992 年,清华大学300兆瓦火力发电仿真系统研制成功。 1997 年 大亚
14、湾核电站购买法国核电站仿真机花去1300 万美元,后来我国自己研制了核电仿真机, 秦山核电站已使用自己研制的仿真机培训人员。同时,训练操作人员也是仿真技术应用的一 个重要方面。比如,训练飞行员的飞机仿真器,训练宇航员的宇航仿真器等,要发展航天事业,仿真技术必须得跟得上。计算机仿真在教学中也有着广泛的应用,比如带电粒子在电场 中运动的模拟,单摆的模拟等等。五、连续系统的仿真建模方法1、离散化原理及要求 我们知道,数字计算机计算出的数值是离散的,而被仿真的系统具有连续性,如何用前 者来实现后者呢?从根本意义上讲,数字计算机所进行的计算仅仅是“数字”计算,它表示数值的精度 受限于字长,这将引入舍入误
15、差;另一方面,这种计算是按指令一步一步进行的,因而,还 必须将时间离散化,这样只能得到离散时间点上系统性能。用数字仿真的方法对微分方程的 数值积分是通过某种数值计算方法来实现的。任何一种计算方法都只能是原积分的一种近似。因此,连续系统仿真,从本质上讲是从时间、数值两个方面对原系统进行离散化,并选择合适的数值计算方法近似积分运算,由此得到离散模型来近似原连续模型。dy设连续系统模型为:d f ( y, u,t)其中u (t)为输入变量,y (t)为输出变量。令仿真时间间隔为h,离散化后的输入变量为u (tk),系统变量为y (tk),其中I表示t = kh。如果 u(t ) = u(t ),y(
16、t ) = y(t ),kkkk即 e (tk) = u(tk) - u(tk)沁 o,e (tk) = y(tk) - y(tk)沁 0,对所有仗=0, 1, u kkky kkk2),则可认为连续系统模型与离散仿真模型等价,这称为相似原理,也就是连续系统的离 散化原理。实际上,要完全保证e (tk) = 0,e (tk) = 0是很困难的。进一步分析离散化引入 u ky k的误差,随着计算机技术的发展,由计算机字长引入的舍入误差可以忽略,关键是数值积分 算法,也称为仿真建模方法。dy连续系统数字仿真中最基本的算法是数值积分算法。对于形如 统,已知系统变量y的初始条件y(to)= y0,现在要计算y随时间变化过程中的y(t)。 计算过程可以这样考虑:首先求出初始点y(to)= y0的/(t0, yo),对微分方程积分,可以写作