系统仿真技术第6章 病态系统仿真

更新时间:2023-08-30 14:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

系统仿真技术第6章 病态系统仿真陈无畏 合肥工业大学机械与汽车工程学院

6.1 病态系统的定义系统中各环节的时间常数差异巨大,为保证仿真 计算的稳定性,由于仿真步长必须限制在最小时间常

数的数量级而选得很小,然而仿真结束的时间则决定于系统中的最大时间常数,若按满足稳定性要求所选

择的步长进行仿真,则不仅整个仿真所花费的时间非常长,甚至由于计算的舍入误差而导致整个仿真的失 败。这就是所谓“病态系统仿真”问题。

病态系统的定义(续)病态系统定义: 令 y F ( y, t ) yf1 F 1 y fn y1

(6-1) (6-2)

J f yn n

f1 yn

J称为系统的雅可比矩阵。 min 若J的特征值全部具有负实部,且有: i max i 则 该系统称为病态系统,在某些文献中也叫做刚性系统 (Stiff),而:S max i min i

称为病态比,一般在50以上。

6.2 线性病态系统仿真对线性定常系统,我们可用如下状态方程进行一 般性描述: x Ax(t ) Bu(t ) y (t ) Cx (t ) x(t ) x(0) 0

(6-3)

1. 增广矩阵法

将u(t)作为系统的增广状态~ ~(k 1) (t )~(k ) x x

~x ~ A~ (t ) x ~~ y (t ) = Cx (t ) ~ (t ) ~ (0) x x 0

线性病态系统仿真(续)其中:~ ~ Ah (T) = e

由于病态系统特征值相差倍数很大,必须用加速收

敛的方法计算该状态转移矩阵的值。2.蛙跳算法 基本思想:

(1)考虑作用函数为阶跃函数,则增广状态十分简单。选择q,使得:

q 2n , qh 2n h

线性病态系统仿真(续)(2) 仿真计算时采用如下“蛙跳”方式:x ( h ) e x ( 0) x ( 2h) e~ Ah ~ Ah

e x ( 0) e~ 2 Ah

~ Ah

~ 2 Ah

x ( 0) x ( 0) x ( 0) e~ 2n A h

x ( 4h) e e n

~ 2 Ah

x ( 0) e~ 2n 1 A h

~ 4 Ah

x(2 h) x(qh) e x(2qh) e~ 2n A h ~ 2n A h

e

~ 2n 1 A h

x ( 0)

x(qh)

x(3qh) e x(2qh)

线性病态系统仿真(续)

即在qh以前采用加倍跳跃式计算,而在qh以后每隔 qh计算一次。 优点是: h可以取得很小(可按最小时间常数考 虑),从而保证初始阶段的精度而计算量却不大, 而到qh以后,小时间常数的作用完成,则加大步长 计算,从而加快仿真计算速度。 从x(h)到x(qh)都是以x(0)为基础进行计算,所以误 差传播比较均匀(仅仅是状态转移矩阵的误差)。

6.3 非线性病态系统仿真一般非线性系统的仿真大多采用数值积分法。而

数值积分法一般又只具有有限的稳定域,典型的如龙格-库塔法,仿真步长限定在系统最小时间常数的数

量级,才能保证计算的稳定

性,而系统的过渡过程时间却决定于最大时间常数,因而对病态系统来说计算 量极大,加上存在误差传播,仿真的精度甚至稳定性 也会受到影响。

6.3.1 吉尔(Gear)法6.3.1.1 Stiff稳定域Gear研究后发现,并不要求一定采用恒稳方法,而 只要具有所谓Stiff稳定域就可以了。 Stiff稳定域定义:对实际的物理系统,时间常数μ 一般小于零。选择仿真步长h若满足: Re h 0 与 Re h (II) Im h (I)

可保证仿真的稳定性,称该算法具有stiff稳定域。

Stiff稳定域(续)实际上具有Stiff稳定域的方法与

恒稳方法只在近虚轴处有一点差别,即如果系统中的极点全部为实极点,

II-δ

θ

I

0 Reμ h -θ

那么无论选择多大的步长,计算是恒稳的。如果系统中有复极点(实部仍 为负数),只要步长的选择满足上述 条件,也能保证算法稳定。

图6.1 Stiff稳定域

Stiff稳定域(续)Stiff域中θ与δ的确定:

按病态系统的大特征值来选择步长: max max j max

该特征值所对应的模态大约要经过4倍左右时间常 数的时间才能有效地衰减掉,即h 4 / max

,也就是

h max 4

这样,此时即使加大步长h,也能保持计算的稳定 性, 基于这一考虑, 可设δ=- 4。

Stiff稳定域(续)

另一方面,考虑到系统特征值为复数,它所对应的 瞬态响应呈振荡型。一个振荡周期内至少计算N个点。 最小振荡周期为: Tmin 2 / max Nh其中h为计算步长,若选择N≥8,则有: maxh / 4, 因此可选θ=π/4。

综上所述,如果选择某一种方法,其稳定域θ≥π/4 , 且|δ|≤4,则从使用的角度来看,图6.1所示的稳定域 与恒稳域没有差别,从而完全可以用于病态系统的 仿真。

6.3.1.2吉尔(Gear)法的基本原理设系统: y dy / dt f ( y, t ) y(t t0 ) y0

满足Stiff稳定域的多步法,Gear提出的用于病态 系k 统仿真的计算公式是: j 1

y n k a j y n k j h 0 y n k

(6-4)

用于病态系统仿真的Gear公式的系数表α1 G-1 G-2 G-3 1 4/3 18/11 -1/3 -9/11 2/11 α2 α3 α4 α5 α6 β0 1 2/3 6/11

G-4G-5 G-6

48/25300/137 360/147

-36/25-300/137 -450/147

16/25200/137 400/147

-3/25-75/137 -225/147 12/137 72/147 -10/147

12/2560/137 60/147

吉尔(Gear)法的基本原理(续)稳定域如图6.2所示,从 图上可以看出,该方法在 5阶以下(包括5阶)的稳 定域满足Stiff稳定域的条 件(θ>π/4,|δ|<4);大C6 C5 10 8 6 4 2 0 -10 -8 -6 -4 -2 0 2 4 6 8 10图 6.2 用于病态系统仿真的 Gear 法

C4

C3 C2

于5阶时|δ|>4,而且还可能穿过负实轴。

在用Gear法仿真非线性病态系统时,有以下三个基本问题需 要解决:

1)启动问题 上述Gear法本质上是隐式多步法。 对于初值问题,困难:隐式方法一般用显式方法启动,即先 进行预报,然后通过迭代进行校正。如果迭代方法的收敛性不 好,可能引起计算发散或计算量加大。 即使选择的迭代方法收敛性满足要求,显式多步法预报,仍 然难以启动,必须采用单步法启动,由于单步法不具有Stiff稳定 域,因而很难保证计算的稳定性。 2)变步长策略 非线性病态系统仿真往往采用变步长策略,如何适时地将步 长调整到合适长度,以同时满足仿真精度和速度的要求。 3)加速迭代 为了提高计算效能,加速迭代也是非线性病态系 统仿真中重要问题。

6.3.1.3 单步多值法以三阶为例,采用显式多步法进行预报,然后用隐式法校正。 其显式预报的公式是:yk(0)1 3 yk 3 yk 1 1 yk 2 3hfk (6-5) 2 2 三阶隐式Gear公式校正:( 0 9 6 2 yk1)1 18 yk 11 yk 1 11 yk 2 11 hfk( 1) 11 ( ) 1) 9 6 2 yk21 18 yk 11 yk 1 11 yk 2 11 hfk( 1 11

(6-6)

单步多值法(续)其中等式右边第4项为导函数项,它是通过将第i 次

迭代所得到的y的预报值代入导函数后计算得到的。( 0 为便于程序实现,由(2)式,并令: yk1 )1 18 yk 9 yk 1 2 yk 2 6 hfk( 1) 11 11 11 11 ( 0 6 yk0)1 11 (hfk( 1) hfk( 11) ) 0 6 = - 3 yk 3 yk 1 1 yk 2 3hfk 11 (hfk( 1) hfk( 11) ) 2 2

f k( 11) 11 hfk 23 yk 7 yk 1 5 yk 2 2 4 4

单步多值法(续)迭代的校正公式可表示成:y(1) k 1

y

(0) k 1

(hf6 11

(0) k 1

hf

( 1) k 1

)

( ( 1) 0 6 y k2)1 y k1 )1 11 (hfk( 1 hfk( 1) )

( ( i i 6 y ki 11) y ki )1 11 (hfk( )1 hfk( 1) ) 1

本文来源:https://www.bwwdw.com/article/4nti.html

Top