、系统仿真技术 第6章病态系统仿真 剡昌锋刘军 州理工大学机电工程学院
系统仿真技术 第6章 病态系统仿真 剡昌锋 刘军 兰州理工大学机电工程学院
61病态系统的定义 系统中各环节的时间常数差异巨大。为保证 仿真计算的稳定性,由于仿真步长必须限制 在最小时间常数的数量级而选得很小,然而 仿真结束的时间则决定于系统中的最大时间 常数,若按满足稳定性要求所选择的步长进 行仿真,则不仅整个仿真所花费的时间非常 长,甚至由于计算的舍入误差而导致整个仿 真的失败。这就是所谓“病态系统仿真”问 题
6.1病态系统的定义 ❖ 系统中各环节的时间常数差异巨大。为保证 仿真计算的稳定性,由于仿真步长必须限制 在最小时间常数的数量级而选得很小,然而 仿真结束的时间则决定于系统中的最大时间 常数,若按满足稳定性要求所选择的步长进 行仿真,则不仅整个仿真所花费的时间非常 长,甚至由于计算的舍入误差而导致整个仿 真的失败。这就是所谓“病态系统仿真”问 题
病态系统的定义(续) 病态系统定义:j=F(y,D (1) 令 af, afi F (2) fn y a yr J称为系统的雅可比矩阵。 若J的特征值全部具有负实部,且有: min u,K(max a,I, 则该系统称为病态系统,在某些文献中也叫做刚性 系统(Sti,而 s=mNp称为病态比,一般在50以上
病态系统的定义(续) ❖ 病态系统定义: (1) ❖ 令 ❖ (2) ❖ J称为系统的雅可比矩阵。 ❖ 若J的特征值全部具有负实部,且有: , 则该系统称为病态系统,在某些文献中也叫做刚性 系统(Stiff),而: ❖ 称为病态比,一般在50以上。 y = F( y,t) 1 1 1 1 J y F n n n n y f y f y f y f = = min i max i i i S min max =
62线性病态系统仿真 对线性定常系统,我们可用如下状态方程进 行一般性描述:(x=Ax0)+B(0 (t)=Cx() (3) 冷1.增广矩阵法将(作为系统的增广状态 Ax(t y()=Cx(t) x(k+1)=d(1)x(k) x(t0)=x(0)
6.2 线性病态系统仿真 ❖ 对线性定常系统,我们可用如下状态方程进 行一般性描述: ❖ (3) ❖ 1. 增广矩阵法 将u(t)作为系统的增广状态 ❖ = = = + ( ) (0) ( ) ( ) ( ) ( ) 0 x t x y t Cx t x Ax t Bu t = = (0) ~ ( ) ~ ( ) ~ C ~ (t) = ( ) ~ ~~ 0 x t x y x t x Ax t ( ) ~ ( ) ~ ( 1) ~ x k + = t x k
线性病态系统仿真(续) 其中:(①=e 令由于病态系统特征值相差倍数很大,必须 用加速收敛的方法计算该状态转移矩阵的 值 2蛙跳算法基本思想 (1)考虑作用函数为阶跃函数,则增广状 态十分简单 q=2”,qph=2h 选择q,使得:
线性病态系统仿真(续) ❖ 其中: ❖ 由于病态系统特征值相差倍数很大,必须 用加速收敛的方法计算该状态转移矩阵的 值。 ❖ 2.蛙跳算法 基本思想: ❖ (1)考虑作用函数为阶跃函数,则增广状 态十分简单。 ❖ 选择q,使得: e Ah ~ ~ (T) = q qh h n n = 2 , = 2
线性病态系统仿真(续) 冷(3)仿真计算时采用如下“蛙跳”方式: (h)=ex(0) x(2h)=e·ex(0)=e2x(0) x(4h)=e24he2AR 4 Ah (2"h)=x(qh . Ah (0)=ex(0) x(2gh) 2".A x(2gh) th x( 3gh=emx(
线性病态系统仿真(续) ❖ (3) 仿真计算时采用如下“蛙跳”方式: (3 ) (2 ) (2 ) ( ) (2 ) ( ) (0) (0) (4 ) (0) (0) (2 ) (0) (0) ( ) (0) ~ 2 ~ 2 ~ 2 ~ 2 ~ 2 ~ 4 ~ 2 ~ 2 ~ 2 ~ ~ ~ 1 1 x qh e x qh x qh e x qh x h x qh e e x e x x h e e x e x x h e e x e x x h e x Ah Ah n Ah Ah Ah Ah Ah Ah Ah Ah Ah Ah n n n n n = = = = • = = • = = • = = − −
线性病态系统仿真(续) 冷即在qh以前采用加倍跳跃式计算,而在q以后每隔 qh计算一次。 优点是:h可以取得很小(可按最小时间常数考 虑),从而保证初始阶段的精度而计算量却不大, 而到qh以后,小时间常数的作用完成,则加大步长 计算,从而加快仿真计算速度 从x(h)到x(qh)都是以x(0)为基础进行计算,所以误 差传播比较均匀(仅仅是状态转移矩阵的误差)
线性病态系统仿真(续) ❖ 即在qh以前采用加倍跳跃式计算,而在qh以后每隔 qh计算一次。 ❖ 优点是: h可以取得很小(可按最小时间常数考 虑),从而保证初始阶段的精度而计算量却不大, 而到qh以后,小时间常数的作用完成,则加大步长 计算,从而加快仿真计算速度。 ❖ 从x(h)到x(qh)都是以x(0)为基础进行计算,所以误 差传播比较均匀(仅仅是状态转移矩阵的误差)
63非线性病态系统仿真 一般非线性系统的仿真大多采用数值积分法 而数值积分法一般又只具有有限的稳定域, 典型的如龙格一库塔法,仿真步长限定在系 统最小时间常数的数量级,才能保证计算的 稳定性,而系统的过渡过程时间却决定于最 大时间常数,因而对病态系统来说计算量极 大,加上存在误差传播,仿真的精度甚至稳 定性也会受到影响
6.3 非线性病态系统仿真 ❖ 一般非线性系统的仿真大多采用数值积分法。 而数值积分法一般又只具有有限的稳定域, 典型的如龙格-库塔法,仿真步长限定在系 统最小时间常数的数量级,才能保证计算的 稳定性,而系统的过渡过程时间却决定于最 大时间常数,因而对病态系统来说计算量极 大,加上存在误差传播,仿真的精度甚至稳 定性也会受到影响
631吉尔(Gear)法 6.31.1.Sti稳定域 Gear研究后发现,并不要求一定采用恒稳方法, 而只要具有所谓St稳定域就可以了 冷Stf稳定域定义:对实际的物理系统,时间常数p 般小于零。选择仿真步长h若满足 Reph≤0 与 lmh≤0 Reph≤-8(I) 可保证仿真的稳定性,称该算法具有sti稳定域
6.3.1 吉尔(Gear)法 ❖ 6.3.1.1.Stiff稳定域 ❖ Gear研究后发现,并不要求一定采用恒稳方法, 而只要具有所谓Stiff稳定域就可以了。 ❖ Stiff稳定域定义:对实际的物理系统,时间常数μ 一般小于零。选择仿真步长h若满足: ❖ 与 ❖ 可保证仿真的稳定性,称该算法具有stiff稳定域。 (I) Im Re 0 h h Re h − (II)
Stf稳定域(续) 令实际上具有St稳定域的方法 与恒稳方法只在近虚轴处有 点差别,即如果系统中的极点Ⅱ 全部为实极点,那么无论选择 0 Re u h 多大的步长,计算是恒稳的。 如果系统中有复极点(实部仍 为负数),只要步长的选择满 足上述条件,也能保证算法稳610 定
Stiff稳定域(续) ❖ 实际上具有Stiff稳定域的方法 与恒稳方法只在近虚轴处有一 点差别,即如果系统中的极点 全部为实极点,那么无论选择 多大的步长,计算是恒稳的。 如果系统中有复极点(实部仍 为负数),只要步长的选择满 足上述条件,也能保证算法稳 定。 0 θ -θ Reμh I II -δ 图6.1 Stiff稳定域