资源预览内容
第1页 / 共114页
第2页 / 共114页
第3页 / 共114页
第4页 / 共114页
第5页 / 共114页
第6页 / 共114页
第7页 / 共114页
第8页 / 共114页
第9页 / 共114页
第10页 / 共114页
亲,该文档总共114页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 经典的连续系统仿真建模方法学,本章教学目的及要求 l 掌握连续系统数值积分法的基本原理 2 掌握Euler法和Runge-Kutta法的概念和方法 3 掌握线性多步法的概念和方法 4 掌握数值积分法稳定性分析方法 5 熟悉数值积分法的选择方法,第二章 经典的连续系统仿真建模方法学,2.1 离散化原理及要求 2.2 Runge-Kutta积分法 2.3 线性多步法 2.4 数值积分法稳定性分析 2.5 数值积分法的选择和计算步距的确定,2.1 离散化原理及要求,一 离散化原理 1 问题求解的两种方法 (1)仿真方法-通常是离散的数值解(仅能说明一些特定的状态的,如果要了解其他状态下的情况,就必须在其他给定条件下,重新进行仿真过程) (2)解析方法-得到的是更为一般的系统解的表示形式(可以表示系统所有可能的状态) (3)适用范围-对于复杂系统而言,求解析解是很复杂的,大多数情况下,求不出解析解,因此必须借助于数值解法,对连续系统进行仿真。,2 相似原理 设系统模型为: , 其中:u(t)为输入变量,y(t)为系统变量; 令仿真时间间隔为h,离散化后的输入变量为 系统变量为 ,tn=nh。 若 , 即 , (对所有n=0,1,2,),则可认为两模型等价。,基本要求 (1)稳定性:不改变原系统的稳定性 若原连续系统是稳定的,则离散化后得到的仿真模型也应是稳定的。 若原连续系统是不稳定的,则离散化后得到的仿真模型也应是不稳定的。 (2)准确性:有不同的准确性评价准则,最基本的准则是: 绝对误差准则: 相对误差准则: 其中 规定精度的误差量。,3 数值方法的基本数学描述 将仿真系统表示成1阶微分方程组或状态方程的形式 若1阶微分方程及其初值为: 式中Y为n维状态变量,F(t,Y) n维向量函数。 设方程的在tn处的形式上的连续解为: 希望能够找到一个近似公式: 来近似表示,其中: Yn为准确值Y(tn)的近似值;Qn是准确积分值的近似值。,4 数值解法的含义 (1)寻求初值问题真解在一系列离散点: t1t2tn , 的近似解 Y1,Y2, ,YN , (即数值解) 相邻两个时间离散点间隔: hn=tn+1-tn称为步长,通常 hn=h(定值)。 (2)数值积分法的主要问题就是对函数f(t,y)的数值积分问题(如何求出该函数定积分的近似解)。 (3)连续系统数值积分方法(或称为数值解法)就是利用数值积分方法,对常微分方程(组)建立离散化的数学模型差分方程,并求出其数值解。,5 主要步骤 (1) 将连续变量问题用数值积分方法,转化为离散的差分方程的初值问题; (2) 根据已知的初始条件y0,逐步递推计算出以后各个离散点上的数值解yi(i=1,2, ) 6 主要分类(不同的递推算法) 单步法,多步法和预估-校正法(不同的系统求解精度、速度和稳定性),二 Euler 法 Euler法是最简单的一种数值积分方法。 特点:导出简单 几何意义明显,便于理解 计算精度比较差,1 Taylor级数展开 有如下标量微分方程: 若y(t)=g(t,y)为其解析解,将y(t)展开成Taylor级数: 从而: 将上式写成差分方程:,2 矩形近似解法 对微分方程在区间上求积分,得: 如果把积分间隔取得足够小,使得在tn,tn+1上f(t,y)可以近似地看成f(tn,yn),就可以用矩形面积近似代替该区间上的曲线面积,有: 即: 将曲线f(t,y)看成是阶梯函数,3 切线近似 在tn的一个小邻域(tn- , tn+ )内,曲线y(t)可以用tn处的切线来表示,如图,,y(t)在tn处的斜率和切线方程分别为:,取tn+1=tn+t,使得点tn+1与tn非常靠近,利用上述切线方程可获得 tn+1处y(t)的近似值: 差分方程形式为:,4 Euler公式 使用方法:只要给定初始条件y0和步长h,就可以根据f(t0,y0)算出y1,再由y1算出y2,逐次递推,计算出y3,y4,。 特点: (1) 公式公式中任一个新的数值解yn+1都是基于前一个数值解及其导数f(tn,yn)求得的。 (2) 方法简单、计算量小 (3) 精度低,例 对于线性微分方程 试采用Euler法进行计算,取步长h=0.2。,三 改进Euler 法 1 提出目的:提高Euler公式的精度 2 改进的途径:使用梯形面积来代替每一个小区间的曲线面积(如图) 3 公式的推导 (1)计算曲边梯形的面积 (2)计算直边梯形的面积,(3)在步长h比较小情况下,用直边梯形面积代替曲边梯形面积,得到差分方程: (4)计算中的预估和校正 原因:差分方程中右边含有待求量yn+1,公式无法起步计算。 解决方法: A 每次计算时先用Euler法计算出y(tn+1)的近似值ypn+1作为初值; B 将ypn+1代入原微分方程,计算出函数fn+1的近似值 fpn+1=f(tn+1, ypn+1); C 利用梯形公式,求出修正后的ycn+1。 D 重复B,C过程,直到ycn+1和yc-1n+1之间的差值在可接受范围内。,4 改进的Euler公式(预估-校正法) 式中第一项为预估公式,第二项为校正公式 特点:采用tn,y(tn)和tn+1,y(tn+1)两点斜率平均值的结果,利用了两点信息,从而提高了计算精度。,2.2 Runge-Kutta积分法,提出的原因:直接采用Taylor级数展开方法,需要计算函数y(t)在某一展开点的高阶导数,使用起来不方便。,基本思想:用几个点上的y(t)的一阶导函数值的线性组合来近似代替y(t)在某一点的各阶导数,然后利用Taylor级数展开式确定线性组合中各加权系统-间接利用Taylor级数展开式 目的:1 避免计算高阶导数; 2 多取几项,提高数值积分的精度,一阶微分方程: 1 假定y(t)是微分方程的解,将y(t)展开成Taylor级数 式中: 2 若令:,2.2.1 基本原理,3 将y(t+h)写成线性组合形式: 式中r称为阶数,bi待定系数,ki由下式决定: 且定义a1=c1=0。 4 对y(t+h)的线性组合形式进行讨论 (1)r=1 为Euler公式(是一个特例),(2)r=2, 由ki的取值公式可得到: 将ft+c2h,y(t)+a1k1h在点(t,y)展开成Taylor级数: 将k1和k2的取值代入线性组合公式,有:,将上式同*式逐项比较(对应系数相等), 有:,得到一个不定方程组,有无穷多个解,若a1=1,b1=b2=0.5,c2=1,有: 依照上述过程,可以得到r=3,r=4等情况下的对应公式。,特 点,1 单步法,可以自启动,存储量小 在计算 时只用到,而不直接用 等项。 2 可变步长 步长h在整个计算中并不要求固定,可以根据精度要求改变 但是在一步中,为计算若干个系数ki,则必须用同一个步长h。 3 速度与精度 四阶方法的h可以比二阶方法的h大10倍,每步计算量仅比二阶方法大一倍 高于四阶的方法由于每步计算量将增加较多,而精度提高不快。 4 形式多样,1 误差的两个准则 绝对误差准则: 相对误差准则: 2 RK法的误差估计和步长控制的基本思路 每积分一步都设法估计出本步的计算误差 ,判断是否满足允许误差E,再选择相应的步长控制策略,调整步长,再作下一步积分运算。,2.2.2 误差估计与步长控制,3 误差估计(单步法) 方法:找到另一个低阶(一般是低一阶)的RK公式,两个公式计算结果之差就可以看作是误差。 常用的计算公式对: a RKM(Merson默森,1957)3-4法 四阶公式与三阶公式对: 两式中的k1,k3,k4相同,是一个4阶精度,3阶估计误差的公式,每次需要计算5次f,计算量较大。,b RKS(Shampine夏普勒,1978)3-4法 四阶公式与三阶公式对: 4阶精度,3阶估计误差的公式,每次需要计算4次f。,C RKF(E.Fehlberg,1969)4-5法 五阶公式与四阶公式对: 5阶精度,4阶估计误差的公式,每次需要计算6次f。,4 步长控制 a 加倍-减半法 设定一个最小误差限和最大误差限,当估计的局部误差大于最大误差时将步长减半,并重新计算计算这一步;当误差在最大误差与最小误差之间时,步长不变;当误差小于最小误差时,将步长加倍。 每步的局部误差通常取以下形式: 上述控制策略可以表示为:,b 最优步长法 基本思想:根据本步误差的估计,近似确定下一步可能的最大步长(保证精度的前提下,减小计算量) 具体策略:,五 数值积分法的几个基本概念 1 算法自启动 若已知数值积分方程的初值,利用算法公式,就可以求得后续一系列点上的近似解,而不需要其他算法的协助,该算法就是可以自启动的。,2 单步法和多步法 单步法:在数值积分方程中,在求解后一时刻的数值时,仅仅需要当前时刻的信息; 多步法:在数值积分方程中,在求解后一时刻的数值时,不仅需要当前时刻的信息,还需要过去时刻的信息;,3 显式和隐式 显式算法:在数值递推公式求解yn+1的过程中,只用到时刻tn及其之前时刻的值; 隐式算法:在数值递推公式求解yn+1的过程中,计算的递推公式中含有未知量;,5 舍入误差 在计算过程中,由计算机字长引起的误差。 同步长h成反比,h越小,计算次数越多,舍入误差越大。 6 初始误差 给定的初始值与真值之间的差异。,7 数值解的稳定性 连续系统的数字仿真就是将给定的微分方程变换成差分方程,计算过程从初值开始迭代运算。各类误差会在计算过程中传播下去,对以后的计算结果造成影响。 对于给定的步长h,若计算结果对于初始误差或计算误差不敏感,就是稳定的。 对于不稳定的算法,误差会逐渐累积,导致计算结果发散,仿真失败。,2.2.3 实时Runge-Kutta积分法 一般方法难以满足实时仿真的需要:所得模型的执行速度较慢;机理也不符合实时仿真的需要。 假设对一般形式的系统进行仿真: RK-2公式:,假定在h/2的时间内计算机刚好计算一次右端函数f,则计算分为两步: 1 在tk时刻利用当前的un、yn计算K1; 2 在tn+h/2时刻计算K2,此时un+1无法得到,仿真执行延迟h/2输出要迟后半个计算步距。 实时仿真除了要满足执行速度的要求外,还要求实时接收外部输入,并实时得到输出。,此种情况下,解决的方法有两个:对un+1进行预报(增大仿真误差)或仿真延迟半个计算步距(输出也延迟半个计算步距)。 实时RK-2公式:,假定在h/2的时间内计算机刚好计算一次右端函数f,则计算分为两步: 1 在tk时刻利用当前的un、yn计算K1; 2 在tn+h/2时刻计算K2,此时un+1/2可以得到,不会引入新的误差,可实时得到yn+1,2.2.4 4阶向量公式 用向量形式表示n阶动力学系统的微分方程: 其中: Y(t)=y1(t),y2(t),yn(t)是n维状态量 F(t,Y)=(f1,f2,fn)是n维向量函数, fi=ft,y1(t),y2(t), ,yn(t)(i=1,2,n) 向量公式表示为: 式中kj=(k1j,k2j, ,knj),kij(i=1,2, ,n;j=1,2,3,4)是微分方程组中第i个方程第j个公式系数。,2.3 线性多步法,2.3.1 相关基础 1 基本思想 单步法:在数值方程中,在求解n+1时刻数值yn+1时,仅仅需要第n时刻yn和fn的值; 多步法:在数值方程中,在求解n+1时刻数值yn+1时,不仅需要第n时刻yn和fn ,还需要第n-1、n-2等过去时刻
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号