系统仿真技术 第7章间断特性的仿真建模 剡昌锋刘军 兰州理工大学机电工程学院
系统仿真技术 第7章 间断特性的仿真建模 剡昌锋 刘军 兰州理工大学机电工程学院
71间断特性仿真的特点 讨论一般间断特性仿真建模问题。若微分方 程y=(y)中右端函数f(y)不连续,一般可用 以下形式来描述: φ/(y,D)≥ dy f2(, t) φ2(y,D)≥0 (7.1) (y,t) φn(y,1)≥0 右端函数的连续性对保证仿真精度是十分重 要的
7.1 间断特性仿真的特点 ▪ 讨论一般间断特性仿真建模问题。若微分方 程 中右端函数 不连续,一般可用 以下形式来描述: ▪ (7.1) ▪ 右端函数的连续性对保证仿真精度是十分重 要的。 y = f ( y,t) f ( y,t) y t 0 y t 0 y t 0 f y t f y t f y t dt dy m 2 1 m 2 1 = ( , ) ( , ) ( , ) ( , ) ( , ) ( , )
间断特性仿真的特点(续) 单步法要求在一个步长内右端函数连续,K 阶多步法则要求在K步内右端函数连续,离 散相似法则要求有更规则的形式(如可用传 递函数描述等)。 为了使仿真结果达到一定精度,采用变步长 方法。然而,采用变步长方法也会遇到困难
间断特性仿真的特点(续) ▪ 单步法要求在一个步长内右端函数连续,K 阶多步法则要求在K步内右端函数连续,离 散相似法则要求有更规则的形式(如可用传 递函数描述等)。 ▪ 为了使仿真结果达到一定精度,采用变步长 方法。然而,采用变步长方法也会遇到困难
间断特性仿真的特点(续) 若函数的形式如图71所示。设当前的 仿真时刻为1,仿真步长为h。下 (y2D) 步,首先按h计算,这时,可能跨过间 断点t,显然,计算误差超过要求,为 此,减少步长,即从t1退回到 这时,只有当煤<'时误差才可能达到 要求。然而此时,由于(处于连续, 步长小,误差也很小,又进入放大步长1t1ntt 状态,结果又跨过点t。这样,在间断 点,步长的调整要反复多次,才能找到 图7.1间断点变步长仿真 间断点,从而计算量大大增加。 因 而,如 何快速 地搜索 出间断 点,以 便 能快速地越过间断点是这类系统仿真中 需要解决的突出问题
间断特性仿真的特点(续) ▪ 若函数的形式如图7.1所示。设当前的 仿真时刻为 ,仿真步长为 。下一 步,首先按 计算,这时,可能跨过间 断点 ,显然,计算误差超过要求,为 此,减少步长 ,即从 退回到 , 这时,只有当 时误差才可能达到 要求。然而此时,由于 处于连续, 步长小,误差也很小,又进入放大步长 状态,结果又跨过点 。这样,在间断 点,步长的调整要反复多次,才能找到 间断点,从而计算量大大增加。 ▪ 因而,如何快速地搜索出间断点,以便 能快速地越过间断点是这类系统仿真中 需要解决的突出问题。 tk t * t k +1 t k−1 f (y,t) 图 7.1 间 断 点 变 步 长 仿 真 k t hk hk t * k t t k +1 t k +1 (1) t t k +1 (1) * f ( y,t) t *
72条件函数零点搜索法 ■若能事先确定/(满足条件函数的点,即满 足)=0的,然后就可以恰当地选择步长。 条件函数可分为两大类: 1)条件函数仅与时间有关,即0)=0)=0 仿真推进比较简单:事先确定满足条件函数 的时间点值,仿真钟推进时,每一步均与间 断点时间值进行比较,使当前步不跨过间断 点
7.2 条件函数零点搜索法 ▪ 若能事先确定 满足条件函数的点,即满 足 的 ,然后就可以恰当地选择步长。 条件函数可分为两大类: ▪ 1)条件函数仅与时间有关,即 ▪ 仿真推进比较简单:事先确定满足条件函数 的时间点值,仿真钟推进时,每一步均与间 断点时间值进行比较,使当前步不跨过间断 点。 f ( y,t) i ( y,t) = 0 t * i ( y,t) = (t) = 0
条件函数零点搜索法(续) 2)条件函数不仅与时间有关,而且与系统变量的值 有关 条件函数的零点无法事先求出,而必须在每一步仿 真计算时进行判断(搜索)。主要困难:仿真步长 选择多大为宜以免跨过间断点。 若从k出发,当前y已经得到,仿真钟按步长往 前推进到=+h,得到系统变量预报值,可以得 到()(241),.(,4)(n,4)。用这些值构造 个插值函数叭(),用它来取代原来的条件函数。此 时的条件函数仅与时间有关,因而易于求得它的根 间断点时间的值,设为1=1+△。调整步长, 从(,)出发,按步长h=M推进到,这样就不 会跨过间断点
条件函数零点搜索法(续) ▪ 2) 条件函数不仅与时间有关,而且与系统变量的值 有关 ▪ 条件函数的零点无法事先求出,而必须在每一步仿 真计算时进行判断(搜索)。主要困难:仿真步长 选择多大为宜以免跨过间断点。 ▪ 若从 出发,当前 已经得到,仿真钟按步长往 前推进到 ,得到系统变量预报值,可以得 到 , 。用这些值构造一 个插值函数 ,用它来取代原来的条件函数。此 时的条件函数仅与时间有关,因而易于求得它的根- ---间断点时间的值,设为 。调整步长, 从 出发,按步长 推进到 ,这样就不 会跨过间断点。 t k yk t k +1 = t k + hk k k k k k k ( y ,t ), ( y ,t ) +1 +1 +1 ( , ), ( , ) k k k k k k y t y t +1 +1 +1 (t) t t t k+1 = k + k * (t , y ) k k h t k +1 = k t k +1 *
条件函数零点搜索法(续) 方法关键:找到合适的插值函数。比较普遍 使用的插值函数-- Hermite内插公式 ()=b3(-a)2-2(1-a3p(y,4)+Ba2-2abn(y,a)(7.2) +k2( k+1(yk+1k+1 )=0 其中a=(t-k)/h。 注意:由于叭均是基于预报值州计算出 来的,而是基于()连续导出的,因而难 免会有误差,甚至有可能产生失误。但是 只要h不是特别大,这种方法仍然是可用的 要求:必须将间断点的条件转化为显式条件 函数
条件函数零点搜索法(续) ▪ 方法关键:找到合适的插值函数。比较普遍 使用的插值函数----Hermiter内插公式: (7.2) ▪ 其中 。 ▪ 注意:由于 均是基于预报值 计算出 来的,而 是基于 连续导出的,因而难 免会有误差,甚至有可能产生失误。但是, 只要 不是特别大,这种方法仍然是可用的。 要求:必须将间断点的条件转化为显式条件 函数。 (1 ) (1 ) ( , ) ( , ) 0 ( ) 3(1 ) 2(1 ) ( , ) 3 2 ( , ) 1 (1) 1 1 2 3 2 3 1 (1) 1 1 2 3 2 3 + − − − − − = = − − − + − + + + + + + k k k k k k k k k k k k k k h a a y t h a a y t t a a y t a a y t a = t − t k hk ( ) / k +1 k +1 , yk +1 (1) yk +1 (1) f ( y,t) hk
73平均值法 条件函数零点搜索法:以搜索零点的计算 为代价-应用于高精度仿真。 平均值法:一种精度适中、计算速度较快 的间断点仿真建模方法。 7.3.1基本思想 设间断特性满足如下关系: (73) 其中(,a)中包含间断点,l为作用函数, 为被仿真的系统变量
7.3 平均值法 ▪ 条件函数零点搜索法:以搜索零点的计算 为代价----应用于高精度仿真。 ▪ 平均值法:一种精度适中、计算速度较快 的间断点仿真建模方法。 ▪ 7.3.1基本思想 ▪ 设间断特性满足如下关系: ▪ (7.3) ▪ 其中 中包含间断点, 为作用函数, 为被仿真的系统变量。 f ( y,u) dt dy = f ( y,u) u y
平均值法(续) 设在第k步到第k+1步作用函数u存在间断 点,则由(73)式: (k+1力h f(y, u)dt h cuk+l f(y, u) uk+l f(y, u) (74) du du=yk+ dt g(y, u) 平均值法:在区间M(k+1)dha=常数,即 g(y,) k+/-l (75) h
平均值法(续) ▪ 设在第 步到第 步作用函数u存在间断 点,则由(7.3)式: ▪ (7.4) ▪ 平均值法:在区间 , 常数,即: ▪ (7.5) k k + 1 + + + = + = + + + 1 1 = 1 1 k k k k u u u u k d t d u k ( k )h kh k k du g( y,u ) f ( y,u ) du y f ( y,u ) y y y f ( y,u )dtkh,(k +1)h du dt = h u h u u g y u k 1 k k = − = + ( , )
平均值法(续) 从而 th f(, udu (7.6) 其中 ave 称为f(y4)的平均函数,则 k+l=Jk +ho k △L) ave (7.7)
平均值法(续) ▪ 从而 (7.6) ▪ 其中: ▪ 称为 的平均函数,则 ▪ (7.7) y y h u k k f y u du k u u k k + = + • + 1 1 1 ( , ) + = 1 ( , ) 1 ( , ) k k u u k ave k k f y u du u f u u f ( y,u) yk + = yk + h f ave uk uk • 1 ( , )