计算机模拟技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机模拟技术
课程名:计算机模拟技术
计算机模拟是在科学研究中常采用的一种技术,特别是在科学试验环节,利用计算机模拟非常有效。
所谓计算机模拟就是用计算机来模仿真实的事物,用一个模型(物理的-实物模拟;数学的-计算机模拟)来
模拟真实的系统,对系统的内部结构、外界影响、功能、行为等进行实验,通过实验使系统达到优良的性能,从而获得良好的经济效益和社会效益。
计算机模拟方面的研究始于六十年代,早期的研究主要用于国防和军事领域(如航空航天、武器研制、核试验等),以及自动控制等方面。随着计算机应用的普及,应用范围也在扩大,现在已遍及自然科学和社
会科学的各个领域。在农业方面,我国从80年代开始进行作物生长发育模拟模型和生产管理系统的研究,目前有一定基础的:在小麦方面有北农大、中科院;棉花方面有中国农业大学、中国棉花所;水稻方面有江西农科院;在土壤水份、水资源及灌溉方面西北农业科技大学。目前影响较大的有比较成形的有江苏省农科院。目前的主要成果有:我国主要农作物栽培模拟优化决策系统RCSODS(水稻)和WCSODS(小麦-江苏省农科院)、MCSODS(玉米-河南省农科院)、CCSODS(棉花-中国农业大学)等。
计算机模拟特别适合于实验条件苛刻、环境恶劣(如真空、高温、高压、有毒有害的场所)、试验周期
长,花费大的场合。
农作物的生产系统就很适合于计算机模拟:农作物的生产受各种条件的影响,不同作物、不同品种也有差异。比如,要想提高一种作物的产量,就先要作试验,通过试验了解这种作物的特性:抗旱性、耐寒
性、对氮、磷、钾哪种肥更有效等。但农业的田间实验不能保证精度(除人为可控条件外,还有许多随机因素)、周期长(周期一年),耗费大。可通过计算机模拟来实现:先建立这种作物生产系统的数学模型(依靠专业知识或试验数据。一般来说,诸如作物产量和农业环境的关系可用微分方程或其它方程来描述),通过计算机模拟来找出这种作物的生长与农业环境相互作用的关系,以及各种条件之间的协迫情况。不仅可大大节省实验经费、加快研究进度(周期一年的实验结果几秒钟内即可得到),这种模拟软件的开发还可与农业
生产管理系统,决策系统相联系,实现对农作物生产的预测、分析、调控、设计的数字化和科学化。
作为一门课程,不是研究某个特定系统的模拟问题,而是了解计算机模拟的一般过程、基本原则,掌握基础知识,掌握建模及动态模拟的一般方法。
第一章计算机模拟概述
1.1 计算机模拟技术
●研究对象在一个计算机模拟问题中,我们研究的对象是一个系统。
系统:一些具有特定功能的、相互之间按一定规律联系着的实体的集合。如作物的生产系统可看作由作物、环境、技术、经济等要素构成的。各要素之间相互影响、相互联系,称为系统的相关性;一个系统
是一个整体,整体内的各个部分不能分割,各因素之间必须相互协调,不能在任何一个环节出问题,才能使系统达到优良的状态,称为系统的完整性。
●目标计算机模拟的目标是了解系统的各个实体之间的相互制约关系,从而使系统在预定的目标
下达到最优和完善。如在作物生产系统中,怎样控制、实施各水、肥、栽培技术等,从而使产量最高,以获得最优的经济效益。
●方法模拟的方法是先建立系统与环境相互作用的数学模型,用数学模型来类比、模仿现实系统(一个数学模型就是从数学上表达系统各因素之间的数量关系,或各因素之间协调的规则;从整个模拟过程来看就是一个算法,或一系列数据,这些数据综合描述一个系统过程或现象的重要行为),然后在数学模型和对系统深刻了解的基础上,开发模拟软件,用影响系统目标的因素作为输入,通过计算机技术来表达系统各因素作用的状态。从数学的角度来看,模拟的过程就是对数学模型求解的过程,并把系统过程演示出来。
●基础知识可见,对一个系统进行计算机模拟,
(1) 要对模拟对象有深刻的了解。如:一个公交车调试系统,要编制一个好的调度程序,必须先对现行系统作周密的调查,搞清哪些是影响调度程序的成分及实体,如现有车辆数、每车载客数、每趟车花费的时间、沿途乘客的密集程度、乘客的一般去向、乘客高峰期的人数等。只有经过周密的调查研究,才能形成一个完整的模拟系统;作物生长模拟系统中,也要搞清影响作物生长的各因素,具备丰富的专业知识,否则不能建立起精确的模型。在对一个系统的动态特性不完全清楚的情况下,有必要通过实验获取数据,
以用于数学模型的建立。
(2) 要有数学知识。一般研究的系统较复杂,不能用简单的函数或方程来描述,要综合使用各种数学方法,才能使模型准确、可靠。
(3) 计算机知识和编程技巧。软件应完整地实现系统的数学描述,输出应直观、形象,如三维可视化输出等。软件的开发是项目的重要工作,也直接影响模拟的效果。软件的编写可使用任何编程语言,如C、
VB、Java等。专门的语言如GPSS,GPSS是面向对象问题的离散事件的专用模拟语言,优其适用于排队系统。1961年,IBM公司发表GPSS的第一个版本,后来又有其它公司的各种版本。标准的版本有52个模块,每个模块用特定的名称和图形来表示其功能。现在一般常用的语言都有模拟库(已编好的用于实现模拟功能的函数)专门用于模拟软件的开发。
1.2 系统的分类
可模拟的系统各种各样,不同类型的系统用不同的模型来描述。系统的分类方法很多,重要的分类方
法是按系统的状态是否随时间变化
.....来分:一个行为与时间有关的系统称为动态系统
待研系统:静态系统:系统的行为与时间无关;用静态模型来描述,一般为数学方程、逻辑表达式等。
如,电路的布尔表达式;电路中电压与电流的关系;系统的稳态解公式等动态系统:连续系统:系统的状态随时间连续变化;常用微分方程来描述;方程对所有
时间点有效。如,卫星运行轨道,作物生长量等
确定性系统:系统的输出完全由其输入来描述,即系统输入与
输出按某种规则一一对应
集中参数模型:用常微分方程来描述,即方程中的
导数不是偏导数
分布参数模型:用偏微分方程来描述,但一般用
集中参数模型近拟表示
随机系统:系统的输出是随机的,有规律的存在一族随机变量,
且随机变量序列与时间有关(随机过程)。
在确定性系统的模拟中使用随机变量的研究方法
称为蒙特卡罗方法
......
离散系统:系统状态的变化只在离散的时间发生;动态方程只在离散点上有效;
一般为随机系统。如,库存问题;企业的管理系统等
离散时间系统:时间步长固定;常用差分方程来描述
离散事件系统:用事件来表示系统在时间间隔内的变化;常用
概率模型来描述
1.3 建立数学模型
对一个系统,确定其类型后有助于选择合适的方法建模,建模的一般步骤可分两个大的阶段:
(1) 实质内容模型阶段:首先对模拟对象进行调查(了解系统,搜索模拟所需的信息)、实验(参数估计