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