第3章 连续系统仿真方法
- 格式:pdf
- 大小:600.32 KB
- 文档页数:29
⑵ 传递函数
G( s ) Y( s ) U(s) b0 s n 1 b1 s n 2 bn 2 s bn 1 s n a1 s n 1 an 1 s an
⑶ 状态方程
x Ax bu y Cx 1 0 0 0 0 A an an 1 an 2 0 1 0 B ,C , 0 1 0 G( s ) C ( s I A) 1 B
yn 1 i yn i h i f n i
i 1
式中:fi f ( yi , ti ) 若 1 0,上式右端不含有 yn 1 yn yn 1 , 则称为显式, 如四阶阿当姆斯显式公式为: h (55 f n 59 f n 1 37 f n 2 9 f n 3 ) 24 若 1 0,上式右端含有 yn 1 , 则称为隐式。
1 ( AT ) k 为级数展开的余项, k n 1 k !
可按仿真精度取舍.
以上只是线性时不变连续系统的数字仿真算法-离散相似法
3.2.2 非线性连续系统仿真算法
一般非线性连续系统的数学模型为:
-4-
dy f ( y, t ), t [t0,t f ] dt y(t0 ) y0
h yn 1 yn ( K1 K 2 ) 2 K1 f ( yn , tn ) K 2 f ( yn hK1 , tn h)
与梯形法的区别? 四阶 R-K 法:
-6-
h yn 1 yn ( K1 2 K 2 2 K 3 K 4 ) 6 K1 f ( yn , tn ) h h K1 , tn ) 2 2 h h K 3 f ( yn K 2 , t n ) 2 2 K 4 f ( yn hK3 , tn h) K 2 f ( yn
f( t)
误差
欧拉法 矩形公式
t0
t1
t
f(t))
误差
梯形公式 t0 t1 t
-5-Leabharlann 3.2.2.2 龙格-库塔法 属于单步法,利用右函数 f 的线性组合来代替 f 导数的计算, 从而得到高阶的方法,一般形式为:
yn 1 yn h i K i
i 1
s
式中: K1 f ( yn , tn ) K i f ( yn h ij K j , tn i h)
这类连续系统的仿真算法是基于常微分方程的数值积分法。 3.2.2.1 欧拉法
矩形公式: y(t1 ) y(t0 ) f ( y, t )dt
t0 t1
y(t0 ) (t1 t0 ) f [ y(t0 ) , t0 ] y0 h f ( y0 , t0 ) 梯形公式: yn 1 yn h f ( yn , tn ) h yn 1 yn [ f ( yn , tn ) f ( yn 1 , tn 1 )] 2
完全保证全为零是很困难的。 分析离散化引入的误差: 随着计算机技术的发展,计算机字长引入的舍入误差可以忽略, 关键是数值积分算法,也称为仿真算法引入的误差。 相似原理用于仿真时,对仿真算法有三个基本要求: 稳定性:若原连续系统是稳定的,则离散化后得到的仿真模型也 应是稳定的; 准确性:有不同的准确性评价准则,最基本的是: 绝对误差准则:
dy y dt j , Re 0
来判断积分算法的稳定性。若积分公式为:
yn 1 p(h ) yn
则当差分方程满足稳定条件
p(h ) 1
-9-
时,算法才是稳定的。
分析几种积分公式:
欧拉法:
yn 1 yn hf n ,应用于试验方程
第 3 章、连续系统仿真方法
3.1 离散化原理及要求
在数字计算机上仿真:数字计算机的数值及时间均具有离散性, 而被仿真的系统的数字及时间均具有连续性。后者如何用前者来实 现? 从根本意义上讲, 数字计算机所进行的计算仅仅是 “数字” 计算, 它表现的数值的精度受限于字长,这将引入舍入误差;另一方面,这 种计算是按指令一步一步进行的,因而,还必须将时间离散化,这样 就只能得到离散时间点上系统的(离散数值)状态(性能) 。 用数字仿真的方法对微分方程的数值积分是通过某种数值计算 方法来实现的。任何一种计算方法只能是原积分的一种近似。 因此,连续系统仿真,从本质上是从时间、数值两个方面对原系 统进行离散化,并选择合适的数值计算方法来近似积分运算,由此得 到离散模型来近似原连续模型。 如何保证离散模型的计算结果从原理上确能代表原系统的行为, 这是连续系统数字仿真首先必须解决的问题。
3.2.2.3 亚当姆斯法 线性多步法: 在利用多步法求 yn+1 时, 必须已知除 yn 外前几步的 值,例如: yn, yn-1 ,……,yn-K+1, 称为 K 步法。
多步法不能自己起步,在使用其它方法求出 y1, y2 ,yK-1 后, 才能用其求解,常用的亚当姆斯方法的形式为:
K 1 i 0 K 1
o(h r 1 ) ,则称有 r
阶精度,即方
-8-
欧拉法
t o(h2 )
梯形法
四阶龙格库塔法 亚当姆斯法 舍入误差: 由计算机的有限字长引起。
t o(h3 )
t o(h5 )
t o(h6 )
舍入误差会积累, 随着积分时间的增加和积分法阶次的增高而增 加,并且随着积分步长的减小而变得更加严重,原因是对于给定的积 分时间,使用更小的步长就意味着更多的积分步数。 稳定性: 是数值积分中非常重要的概念。 所谓稳定性是指误差的积累是否受到控制的问题。 如果在每步计 算过程中,前面积累的舍入误差对实际误差的影响是减弱的,则计算 方法是稳定的;反之,则可能由于误差的恶性增长而变得不稳定。如 果计算过程发生不稳定情况,计算结果将失去意义。 通常,用试验方程:
u (t )
h
f ( y, u , t ) 原连续系统 y
y (t )
ey (tk ) 0
ˆ (tk ) u
ˆ f (y ˆ, u ˆ, tk ) 仿真模型 y
ˆ (tk ) y
相似原理示意图
相似原理(两个模型等价) :
-1-
ˆ (tk ) u (tk ) 0 eu (tk ) u ˆ (tk ) y (tk ) 0 ey (tk ) y
yn 1 (1 h ) yn
稳定的条件是: 1 h
1
稳定性与系统的特征值和步长有关 分析后可知: 除隐式一阶、二阶亚当姆斯法为恒稳法外,其它方法都是条 件稳定的。 除恒稳法外,其它方法的积分步长都应限制在最小时间常数 的数量级。 对于 R-K 法,阶次增大则稳定域略微增大;对亚当姆斯法, 阶次增大则稳定域反而缩小。 (与控制系统稳定、采样定理之间有何关系?) ⑵ 仿真算法和步长的选择 在应用算法之前,首先要决定: 采用哪一种方法 确定方法的阶 确定步长 以减少仿真计算量,达到节省仿真时间的目的。 对于一般的非线性连续系统仿真(不包括病态、间断或实时问 题) ,若方程右函数比较简单,则采用单步法。 优点:自动起步,容易实现,使用起来较方便。 • • 对于低精度问题:可采用欧拉法; 要提高精度:可减小步长,但增加了计算量和舍入误差。
ˆ (tk ) y(tk ) ey (tk ) y
ey (tk ) ˆ (tk ) y (tk ) y y (tk )
相对误差准则:
仿真速度。
-表示规定的误差量
快速性:数字仿真是一步一步推进的,每一部的计算时间决定了
连续系统数字仿真算法: 数值积分方法:单步、多步 离散相似方法:适用范围较窄 数值积分方法采用递推方式进行计算, 不同的方法会引进不同的 计算误差;为了提高计算精度,会增加运算量。对同一种积分方法, 为提高计算精度,可减小积分步距,但又降低了计算速度。 计算精度和速度是常见的一对矛盾, 也是数字仿真重要解决的问 题之一。
3.2.2.4 变步长法 上述方法通常在仿真前要选择积分步长,一般假设步长是固定 的。 在仿真运行过程中也可以动态调整积分步长。 但要动态调整步长 需要在仿真过程中能估计积分误差, 同时对积分步长的调整能使误差 保持在规定的范围内。采用这种方法的积分算法称为变步长算法。 当使用变步长法时,仿真时间依赖于被仿真系统的动态行为。当 状态变量变化缓慢时,步长可以取得大一些,以减少计算时间;当瞬 态或状态变量变化很快时,步长可以选得小一些,但仿真时间较长。 变步长法要求进行附加运算,以估计积分的误差并调整步长。 在多数情况下,假设具有同样的积分误差,变步长仿真的时间小 于固定步长的仿真时间。 变步长法不适用于实时仿真。 3.2.2.4 仿真算法的选择与比较 ⑴ 算法的误差和稳定性 仿真算法主要包括两种误差:截断误差、舍入误差。 截断误差:基于台劳展开公式的数值计算方法都存在截断误差, 一般差分公式若局部截断误差为 法是 r 阶的。 方法的阶数可以作为衡量算法精度的一个标志。 截断误差的阶次越高, 其求解的精度越高, 不同算法的截断误差:
3.2 连续系统仿真算法
-2-
3.2.1 线性连续系统仿真算法
3.2.1.1 线性连续系统数学模型的几种表示方法 ⑴ 高阶微分方程
dny d n1 y a 1 dt n dt n1 an1 dy d n1u d n2u an y b0 n1 b1 n2 dt dt dt bn 2 du bn 1 u dt
1 令 (t ) L1 ( sI A) ,则
x( s ) L (t ) x(0) L (t ) Bu( s ) x(t ) (t ) x(0) ( t ) Bu( ) d
0 t
其中: (t ) exp( At )为状态转移矩阵, 则得线性状态方程的解析解: x(t ) exp( A t ) x(0) exp( A (t ))Bu( )