连续系统的计算机模拟
(36页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
29.9 积分
第2章 连续系统的计算机模拟本章讨论连续系统的模拟技术,由于这类系统中状态随时间连续动态地变化,常常具有一定的规律,故可用一些数学方程来描述,这些方程就是系统的数学模型,通常以微分方程、代数方程为多见。下面将介绍利用数值积分法对连续系统进行数字模拟的基本原理和具体方法,并给出数值积分法中几个常用的算法以及实现这些算法的计算程序,最后介绍两个建模实例。 数值积分法不仅方法种类多,而且有较强的理论性,本章由浅入深地介绍几种常见的数值解法。主要为单步法中的四阶龙格--库塔法与默森法和多步法中的亚当斯法。 使用数字计算机对连续系统进行模拟,首先必须将连续系统离散化,并将它转化为差分方程,以建立所谓的模拟系统的数学模型。描述连续系统动态特征的数学模型是多种多样的,除微分方程外,还有传递函数、结构图及状态方程等,由于篇幅所限,本书不讨论后两种方法。 建立系统的模拟模型之后,就要选择计算机语言(也叫算法语言)编写系统模拟程序,在计算机上运行,将结果保留在数据文件中以待传输和处理。由于模拟的目的不同,可以选用不同的模拟模型和算法,其特点是运算精度高,对于不同的计算机,字长一般在16位---72位之间,也可采用浮点运算和双精度运算,其精度一般可达千万分之一到百万分之一。当然结果的精度与所选的算法有关。这可以根据实际需要选择机器、算法和模拟的步长。数字计算机储存容量大,可进行各种运算,在以前认为是不可能解决的问题,利用数字计算机都可容易地或有可能得到解决。本章介绍的方法适应性较强,应用也十分广泛。数字计算机上还有各种功能的软件包(即一些子程序),用户可以稍加修改或不经修改就可以用于自己的模拟程序中,解决自己的实际问题,使用非常方便。 2.1 欧拉(Euler)法 在讨论连续系统的计算机模拟之前,让我们先看一个化学反应的例子,通过这个例子我们可以看到怎样使用数字计算机模拟一个实际问题,虽然介绍的是欧拉法,但是分析问题的思路同样适用与其它数值积分法。 当两种物质A和B放到一起产生化学反应时,产生第三种物质C,一般一克A与一克B结合产生2克的C物质,形成C 的速率与A 和B的数量乘积成正比,同样C也可分解为A和B,C的分解速率正比与C的数量,即在任何时刻,如果a,b,和c是化学物质A,B,和C的数量,即在任何时刻,如果a,b,和c是化学物质A,B,C的数量,它们的增加和减少的速度服从下列微分方程。 (2.1)其中K1和K2 是比例常数(一般而言这些比例常数会随温度和压力发生变化,但在模拟过程中,为了简化模型,一般不允许其变化,故一律视为常数)。在给出常数K1 和K2 值以及A和B的数量(C=0)后,我们希望能确定有多少C物质产在出来,这种化学反应速率的决定在化学工业上是有意义的。 模拟该系统的一个直接的方法是在t=0时开始,使t以Δt间隔增加。假定化学量在Δt时间步长内不变,而只能在Δt结束的瞬间发生变化,这样在每个Δt结束时的A(或B或C)的数量就可以从Δt开始时的数值由下式求出 (2.2)同样的方程b(t+Δt)和C(t+Δt),也可写出。假定模拟周期为T,可将T分成N个小的时间步长Δt,及 -省略部分-加单位广告产生的效果比s接近M的水平时, 增加广告所取得的效果更显著. (3)生产企业为了扩大销售, 对每种产品究竟应投入多少广告费用? 一般可采用最优控制方法, 求出最佳 广告费, 这里可利用产品利润达到最大为目标, 构成以下最优控制问题:状态方程初始条件s(0)=S0控制约束 0 ≤ A (t) ≤ θ其中π为每件产品的盈利,θ为最大允许广告水平,解此问题,可确定最佳广告费. 习 题 1.某一地区的病菌传染,三种人员人数的状态方程,即可能受传染的人数x1,已被传染得病的人数x2及已经治愈的人数x3,并假设他们是因接触传染。设 α是x1中单位时间内的传染系数 β是x2中单位时间内的被治愈的比例系数则得以下状态方程本题α=0.001, β=0.027 初始条件:t=0, x1=620人, x2=10人, x3=70人 选步长:DT=0.025,用四阶RK法模拟 2.设一传输线路模型如图,该电路由50个回路组成。用RK法求出I27,V34,IL及VL变化规律。 电路状态方程为4 V=V-I·Rs I48=(V48-V49)/L I=(V-V1)·L/2 V49=(I49-IL) V=(I-I1)/C IL=(V49-VL)/L/2 I1= (V1-V2)/L VL=IL·RL V2= (I1-I2) /C I2=(V2-V3)/L 共99个一阶微分方程,两个代数方程已知L=0.5亨,法拉,欧姆,伏,步长DT=0.01,模拟时间TMAX=1.0 (提示:本题方程虽多,但基本相似,可以循环完成模拟)初始条件: 3.有一微分方程Ty+y=Ku ,试用欧拉法与欧拉改进法示写出解的差分方程,并讨论步长应选在什么范围?若选的比2T大,将会产生什么结果? 4.已知线性微分方程,当取h=0时,使用欧拉与龙格-库塔法写出第一步计算的表达式和计算结果。 5.已知系统方程为斜坡输入和正弦输入的响应进行模拟,并打印响应曲线。 6.将2-7中的水库模拟缺少的子程序添加上,使用模拟数据库运行程序,打印现结果,并存在数据库中(可使用模拟数据)。 7.用极坐标表示卫星轨道,研究发射速度V对卫星的轨道影响。假定作用在卫星上的力仅仅是地球引力,则系统方程为K为重力系数(,地球半径为6400km,计算发射速度分别为8km/s,10km和12km/s的卫星轨道。 y r θ 关 键 词: 系统 计算机模拟 连续
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。