连续系统仿真的基础算法_第1页
连续系统仿真的基础算法_第2页
连续系统仿真的基础算法_第3页
连续系统仿真的基础算法_第4页
连续系统仿真的基础算法_第5页
已阅读5页,还剩172页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章连续系统数字模拟的基本算法,2.1数值积分算法2.2数值积分算法的基本分析2.3连续系统模拟的离散相似算法2.4常用快速数字模拟算法2.5实时数字模拟算法摘要,3.1数值积分算法,3.1.1数值积分算法的基本原理3.1.2欧拉方法3.1.3 longge-kutta方法3.1.4微分方程数值积分的矩阵分析,以及连续系统模拟的数值积分算法是利用数值积分方法,将常微分方程(组)描述的连续系统转换为离散形式的模拟模型差分方程(组)。 要在计算机中解决这一问题,首先需要用一阶微分方程组或状态空间模型来表示仿真系统的数学模型。假设,上一页,下一页,返回,一阶向量微分方程和初值问题,可以写成一阶微分方程和初值问题的形式,上一页,下一页,返回,(2.1),(2.2),的解析解,(2.2),上一页,下一页,返回,(2.3),(2.4),数字解决方案是查找初始值问题的一系列单个时间点,的近似值解决方案。步长或两个相邻时间步长(称为步长距离)之间的间隔。数值积分方法的主要问题是矢量函数、数值积分方法、计算方法、区间上明确积分的近似解、和数值方法的一般特征是步进式(即递归)。上一、下一、返回、典型的基本算法可分为三大类:第一阶段、多阶段和预期-校正方法,每种算法可分为显式算法和隐式算法两种类型。以标量形式开始。考虑一阶微分方程和初值问题,解析解想用,的近似值公式代替。上一页,下一页,返回,(2.5),(2.6),(2.7),3 . 1 . 2 Euler方法,Euler方法是最简单的数值积分算法,对于间距,积分,是,间距,显然,Euler方法仅适用于步骤h较小的情况。上一页,下一页,返回,图2.1,3.1.3 longge-kutta方法,Runge-Kutta (runge-kutta)方法在解决常微分方程初值问题(2.5)的各种数值积分算法中,包括许多其他公式想法:用多个时刻的f函数值的线性组合替换f的每个阶导数,然后根据泰勒公式确定系数。上一页、下一页、返回、RK方法包含显式、隐式和半隐式等算法。仅介绍显式RK方法。常规格式:样式中的Wi是待定权重元素。r是使用的k值的数目。关键点是导出f在其他时间点的值。Ci,AIJ是待定系数。上一个,下一个,返回,(2.13),r=1时只获得了一个k1,Euler方法,r=2时,以,代替,以,附近的泰勒级数展开,上一个,该算法是数字仿真中最常用的算法之一。计算较大,但计算精度较高。广泛用于物理仿真。上一页,下一页,返回,(2.20),请注意,某些数值积分方法仅是由Taylor系列中项目数的差异引起的。欧拉法只取了前两个,RK2取了前三个,RK4取了前五个。理论上可以构造任意高阶计算方法。但是,精度的阶数和函数f值的计算次数之间的关系不会以相同的量增加。上一页,下一页,返回,由此,RK4方法具有其优越性。表2.1f计算次数与算法精度顺序的关系,上一页,下一页,返回,3.1.4微分方程数值积分的矩阵分析,一阶矢量微分方程和初始值问题的RK4方法的矢量格式,上一页,下一页,返回,(2.21),(2.22) 3.2.1单阶段和多阶段3.2.2显式算法和隐式算法3.2.3截断误差和舍入误差3.2.4数值积分算法的计算稳定性3.2.5数值积分算法的计算精度、速度、稳定性和阶段之间的关系3.2.6数值积分算法的选择原理3.2.7误差估计和阶段控制3.2.8数值积分算法模拟示例,上一页, 计算yk 1时仅使用yk,yk-1、yk-2等的值在此计算中仅用作以前的计算结果。这种算法称为一步方法。第一阶段计算的优点是需要存储的数据更少,占用的存储空间更少。如果只知道初始值,就可以开始递归公式,直接开始。可变步长运算很容易。还有与、上一步、下一步、后退和单步方法相对应的数值积分算法。这称为多层次方法。在计算公式中,此计算多次使用以前的计算结果和以前的结果。例如,AB4方法:表达式的计算工作量比第一阶段方法少得多。因此,在相同条件下,多阶段方法比单阶段方法快。多阶段方法的主要缺点是它不是自己的启动方法,必须使用其他方法查找初始阶段值。此外,多阶段方法不容易实现可变步长运算。上一页、下一页、返回、(2.28)、3.2.2显式和隐式算法,如果检索到用于计算yk 1的所有数据,则将其称为显式算法。数值积分算法的方程式右端嵌套了未知量yk 1,这称为隐式算法。例如,AM4方法也不是隐式算法:上一页、下一页、返回、(2.29)、隐式算法也不是自启动算法,通过使用其他显式算法估计初始值,然后使用隐式算法执行迭代运算来构成估计-校正算法。四阶Adams估计-修正算法:上一个,下一个,返回,(2.30),3.2.3截断误差和舍入误差通常使用泰勒级数作为分析数值积分算法精度的工具。在前面的步骤中,假设结果正确,即,存在的情况下,使用泰勒级数的解析解,不同的数值积分算法等于通过取上述项目数之和得出的近似值。上一个、下一个、返回、(2.31)、(2.32)、数值积分算法一次引入的此类额外错误称为局部截断错误。这是数值积分算法给出的求解和微分方程的解析解之间的差异,因此也称为局部离散误差。步骤h越小,本地裁剪错误越小。如果数值积分算法的局部截断误差,则方法是r阶。算法的阶数可能是衡量算法准确性的重要指标。上一页,下一页,返回,以上分析是在假定上一步中获得的结果正确的情况下得到的,如果有,但在解决方案中实际上只有k=0的情况下才成立。K=1,2,3,的时候不是这样。因此,r阶算法得到的解的实际误差更大。yk无舍入误差,通过将r阶法计算的微分方程的近似解,y(t)设置为微分方程的解析解,算法的整体截断误差,可以证明.也就是说,整体切割错误比本端切割错误低一级。,上一页,下一页,返回,(2.33),3.2.4数值积分算法的计算稳定性,1。稳定性计算概念2。欧拉方法的计算稳定性3。龙格-库塔法的计算稳定性4。多阶段计算稳定性,上一页,下一页,返回,1。稳定性计算概念,连续系统的数值模拟,本质上把给定微分方程(组)转换成差分方程(组),然后从初始值开始逐步进行递归计算。示例2.1比较已知微分方程和初值移动到不同阶段时精确解和数值积分算法解的差异。上一页、下一页、返回、解决方案初始值问题的解决方案如下图2.2(a)所示:上一页、下一页、返回。图2.2(a)分别用欧拉方法和RK4方法计算的分析解决方案,结果曲线如图2.2 (b)-(g)所示。图2.2(b)Euler方法(h=0.1),图2.2(c)RK4方法(h=0.1),上一页,后退,图2.2(d)Euler方法(h=0.1),欧拉方法解曲线仍然发散,相应的解是错误的;RK4方法的求解曲线单调递减,收敛为0,并且求解是正确的。Euler方法和RK4方法的解决方案都收敛为0(Euler方法的解决方案曲线收敛为振动)。只要求出各处的解,就可以认为两种数值积分算法的解都是正确的。事实上,此时,上一页,下一页,返回,欧拉法,RK4方法,解决方案,为什么会发生这种情况?这是因为数值积分算法只是在迭代递归计算中引入误差的近似积分方法。此错误通常由原始数据中的错误和计算过程中的舍入错误引起。误差累积越来越大(请参见示例2.1),计算不稳定,可能会产生错误结果。系统的稳定性和计算稳定性是两个不同的概念。可选数值积分算法是不同的,因此同一系统的差分方程也不同,计算稳定性也不同。上,下,返回,通常使用简单的一阶微分方程测试数值积分算法的计算稳定性。微分方程和初值问题称为测试方程。其中是方程式的性质根。根据稳定性理论,特征根位于左半s平面时,原始系统立即稳定。上一页,下一页,返回,(2.34),2。欧拉方法的计算稳定性,使用欧拉方法计算测试方程。假定仅在初始值y0引入初始错误,在递归计算过程中没有引入其他错误。此时的错误,中的错误仅由,引起,以(2.36)表达式减(2.35)的形式获得错误方程,(2.35),(2.36),上一页,下一页,在递归计算过程中,如果在步骤中引入错误,随着递归步骤数的增加,这个错误会逐渐扩展,表明差分方程的解可能完全扭曲。相反,在那个时候。表示随着递归步骤数的增加,引入的错误逐渐减少或保持边界。在这种情况下,称为差分方程的计算是稳定的。上一个,下一个,返回,(2.37),(2.38),对于欧拉方法,合理选择步骤h是保持相应计算稳定性的充分条件。命令显示实际轴上Euler方法的稳定区域为(-2,0),即,因此大小越大,步骤h就应该越小。为了确保计算稳定性,对步骤h进行了限制的数值积分算法称为条件稳定算法。在所有阶段h0中,计算稳定的数值积分算法称为绝对稳定算法(也称为无条件稳定算法或常数稳定算法)。欧拉方法是计算条件稳定性的方法。、上一个、下一个、返回、3。runge-kutta方法的计算稳定性,将RK方法应用于测试方程,可以轻松获得以下误差方程,顺序,自下而上,得到此样式的稳定性条件,在每个阶RK方法的实际轴上得到稳定区域,如表2.2所示。上一个,下一个,返回,(2.40),(2.39),显式RK方法都是条件稳定算法,步骤h的大小不仅与选定算法相关,还与表达式本身的特性相关。对于实际系统,特征值不一定是实数,因此满足(2.40)也是复数形式。通常,步骤h要求不等式(2.41)、表2.2RK方法满足实轴上的稳定区域,上一页、下一页、返回、4。多阶段计算稳定性,将多阶段方法应用于测试方程,得到了相似的误差方程。结论:在相同阶的多级方法中,隐式算法的稳定性面积比显式算法大得多。随着阶数的增加,多级稳定区域逐渐减少。上一个、下一个、再一个,实际轴的稳定区域,除非表2.3Adams方法(AM1和AM2方法,即隐式Adams方法)是绝对稳定算法。换句话说,步骤h必须满足不等式。表达式中的m是由积分算法确定的常数。上一个,下一个,上一个,|h|plot(tout,yout, k );栅格;栅格。上一页、下一页、图2.8(exam2_4.mdl)、图2.9(a)中所示的步长响应曲线。显然,曲线不理想,过切更大。为此,可以将外环的PI控制器参数调整为,分别选择=0.17、0.5、1、1.5以获得模拟结果,如图2.9(b)所示。选择PI控制器作为可以获得更满意的控制效果。图2.9(a),图2.9(b),上一页,下一页,返回,示例2.5考虑著名的VandePol方程并绘制其拓扑轨迹()。选择求解状态变量时,存在以下非线性状态方程:上一个,下一个,返回,第一个方程将x2(t)信号视为积分器的输入,积分器的输出将成为x1(t)信号。同样,x2(t)信号本身也可以视为积分器的输出,积分器的输入部信号必须是。因此,使用Simulink提供的各种模块,可以获得图2.10所示的模拟结构。上一页、下一页、返回、图2.10(exam2_5.mdl)、Simulink模型中的某些模块需要重定向输入和输出结束(通常用于反馈路径)。为此,请使用鼠标单击选择需要重定向的模块,选定模块的四个角上将显示一个黑点,表明其处于选中状态。然后,打开Simulink的“Format(格式)”菜单(请参见图2.11),选择其中的“Flipblock(翻转子菜单)”即可。上一个、下一个、上一个、下一个、图2.11、开始模拟时,模拟结果将指定给MATLAB工作区中的变数t、x1和x2。MATLAB命令窗口中的命令plot(x1,x2,“k”);栅格;栅格。获得拓扑轨迹,如图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论