武科大Matlab仿真第七章系统时间响应及其仿真课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《武科大Matlab仿真第七章系统时间响应及其仿真课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武科大 Matlab 仿真 第七 系统 时间 响应 及其 课件
- 资源描述:
-
1、第七章 系统时间响应及其仿真本章主要内容如下:7.1 仿真算法7.2 系统仿真的MATLAB函数 系统的时间响应是指系统在输入信号或初始状态作用下,系统输出随时间变化的情况。系统的时间响应反映了系统的特征和性能,如快速性、稳定性等。对系统时间响应的分析是我们设计、校正系统的基础。第七章 系统时间响应及其仿真7.1 仿真算法n对系统的时间响应进行动态仿真,采用什么样的仿真算法是一个至关重要的问题。对连续时间系统进行数字动态仿真,主要是两种方法:n 基于数值积分的仿真方法;n 基于离散相似法的仿真方法。由于后者涉及到离散控制系统理论,因此本节重点介绍基于数字积分的连续系统仿真方法。7.1 仿真算法
2、7.1.1 数值求解的基本概念n设微分方程为 则求解方程中函数y(t)问题,就是已知初值的常微分方程求解问题。n所谓数值求解就是要在时间区间a,b中取若干离散点 求出微分方程在这些时刻的近似值n常微分方程数值求解的基本方法是数值积分法。00(,)()dyf t ydty ty01Natttb012Ny y yy()0,1,2kkyy tkN7.1 仿真算法7.1.2 数值积分的基本原理n积分区间的划分)1()(),(,(0ytybtatytfdtdyo将区间a,b分成 N个小区间,时间间隔h()也称为积分步长,在第k个间隔 t=tk,tk+1内积分:Nabh)2(),(11kkttkkdtyt
3、fyy则可用yk(k=0,1,N)作为解y(t)的近似值,如图所示。abtky0ykyt数值积分图解tk+17.1 仿真算法7.1.2 数值积分的基本原理n数值积分的展开式 为避免(2)式中的积分项,将y在tk,以h为增量展开成Taylor级数:式(3)是一个递推公式。积分值与实际微分方程解的误差取决于步长h和计算所用的阶数,它是数值积分的基础。),2,1,0()3(3)3(!312)2(!211Nkhyhyhyyykkkkk)2(),(11kkttkkdtytfyy7.1 仿真算法7.1.2 数值积分的基本原理n有关概念n单步法和多步法 单步法指计算yk+1值只需利用tk时刻的信息,也称为自
4、启动算法;多步法在计算yk+1值时,则需利用tk,tk-1,时刻的信息。n显示法和隐式法 显示法在计算yk+1时所需数据均已算出;隐式法在计算yk+1时需用到tk+1时刻的数据,该算法必须借助予估公式。n定步长和变步长 定步长为积分步长在仿真运行过程中始终不变;变步长指在仿真运行过程中自动修改步长。7.1 仿真算法7.1.3 数值积分的几个算法n欧拉算法 在(3)式中取前两项:可得欧拉算法:t0t1t2t3hy(t)y0y1yt欧拉近似解欧拉法n【说明】欧拉法是用一条过各点的切线取代曲线来逼近精确解。该算法简单,计算量小,但精度较低。)4(1mmmhyyy)5(),(),(),(1111200
5、00100hytfyyhytfyyhytfyhyyymmmmty)3(3)3(!312)2(!211kkkkkhyhyhyyy7.1 仿真算法7.1.3 数值积分的几个算法n梯度法 梯度法是欧拉法的改进。n与欧拉法相比,梯度法是用两个点(tm,ym)、(tm+1,ym+1)的斜率的平均值来确定下一点的y值。n由于上式计算时需要用到ym+1的值,而ym+1不能预先知道,故梯度法需要和欧拉法结合使用,即用欧拉法对ym+1 进行予估,再由梯度法计算ym+1)3(3)3(!312)2(!211kkkkkhyhyhyyy),(),(11211mmmmmmytfytfhyy)6(),(),()(),(11
6、2111(校正)予估mmmmmmmmmmytfytfhyyhytfyy7.1 仿真算法7.1.3 数值积分的几个算法n龙格龙格-库塔法库塔法n龙格龙格-库塔法的基本思想库塔法的基本思想 欧拉算法的精度较低,主要是其微分方程解 y 的 Taylor 展开式所取的项数太少。显然为了提高计算精度,应当取泰勒公式(3)更高阶项。虽然增加高阶项可提高计算精度,但也同时带来了需要计算高阶导数的困难。龙格龙格-库塔法库塔法的关键是利用低阶导数构成的曲线去拟合含有高阶导数的曲线,从而避免了计算高阶导数的问题。)3(3)3(!312)2(!211kkkkkhyhyhyyy7.1 仿真算法7.1.3 数值积分的几
7、个算法n龙格龙格-库塔法库塔法n二阶龙格二阶龙格-库塔(库塔(RK)法)法 取(3)式的前三项,则有)3(3)3(!312)2(!211kkkkkhyhyhyyy)7(),(),(2212)2(211hytfythfyhyhyyymyfmmmtfmmmmmmm设原微分方程(1)式解具有以下形式:)8()(),(),(2211112121KaKahyyhKbyhbtfKytfKmmmmmm式中,a1,a2,b1,b2为待定系数。),(),()2(ytfdtdyytfdtdy)7(),(),(2211hytfythfyymyfmmmtfmmmm)8()(),(),(2211112121KaKahy
8、yhKbyhbtfKytfKmmmmmm 将(8)式中K2按二元函数展开成泰勒级数,并取前三项)9(),(),(1211212myfmtfmmmyfmtfmmKbbhytfhKbhbytfK将K1,K2代入(8)式:)10(),(),()(),(),(),(21222121211myfmmmtfmmmmyfmmmtfmmmmmmytfbbhaythfaayythfbhbytfhaythfayy比较(6-10)、(6-7)式:)11(2/12/11221221babaaa 显然由(11)式并不能唯一确定a1,a2,b1,b2,因为只有三个方程。因此对于同一种算法可以有不同的表现形式。n【说明】由
9、于该算法只取到泰勒展开式的二阶导数项,所以称为二阶龙格-库塔法。但由(8)(12)式可知,算法并没有用y的二阶导数。若设a1=a2,则12/12121bbaa即二阶RK法公式为)12()(2),(),(211121KKhyyhKyhtfKytfKmmmmmm)11(2/12/11221221babaaa7.1 仿真算法7.1.3 数值积分的几个算法n龙格龙格-库塔法库塔法n龙格龙格-库塔(库塔(RK)法的一般形式)法的一般形式 )13(,2,1),(1111riKbyhatfKKhyyijjijmimiiriimm式中,i为待定权系数,ai,bij为待定系数,r为使用Ki的个数(即级数),Ki
10、为所取各点导数f的值。Ki的个数与yk+1泰勒展开式所取的项数有关(即RK算法的阶数),同时还与计算区间内所取导数值的点数有关。7.1 仿真算法7.1.3 数值积分的几个算法n龙格龙格-库塔法库塔法n四阶四阶RK公式公式 四阶RK公式用到了y的泰勒展开式的四阶导数。在RK算法的一般公式(13)中,取r=4可得:)14(),(),(),(),(223422123121221432161hKyhtfKhKytfKhKytfKytfKKKKKyymmmhmmhmmmhmm 由于(14)式在同级的RK算法中,计算精度较高,计算量较少,而在系统仿真的数值积分中应用十分广泛。称之为四阶四级RK公式。7.1
展开阅读全文