3.1 连续系统仿真中常用的数值积分法 ……………. 3.2...

25
第第第 第第第第第第第 第第第第第第 3.1 第第第 第第第第第第第第第第第…………… . 3.2 第第第 第第第第第第………………………… . 3.3 第第第第第……………………………………… . 3.4 第第第第第 第第第第第……………………… . 3.5 第第第第第第第第第第第第第………………… . 第第第第……………………………………………… . 第第第 第第第第第第第 第第第第第第

Upload: gwendolyn-hoffman

Post on 31-Dec-2015

194 views

Category:

Documents


0 download

DESCRIPTION

第三章 数值积分法在系统仿真中的应用. 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………. 3.4 分布参数系统的数字仿真 ………………………. 3.5 面向微分方程的仿真程序设计 …………………. 本章小结 ………………………………………………. 3.1 连续系统仿真中常用的数值积分法. 1. 数值积分法. 如果已知某一系统的一阶向量微分方程为. ( 3-1 ). 对式子 (3.1), 数值积分可写成统一的公式. ( 3-2 ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用

3.1 连续系统仿真中常用的数值积分法…………… .

3.2 刚性系统的特点及算法………………………… .

3.3 实时仿真法……………………………………… .

3.4 分布参数系统的数字仿真……………………… .

3.5 面向微分方程的仿真程序设计………………… .

本章小结……………………………………………… .

第三章 数值积分法在系统仿真中的应用

Page 2: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

3.1 连续系统仿真中常用的数值积分法1. 数值积分法

如果已知某一系统的一阶向量微分方程为

对式子 (3.1), 数值积分可写成统一的公式

00 )(),,( ytytyfy ( 3-1 )

( 3-2 )

m

iini

m

iinin fhyay

101

Page 3: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

几种常用的积分法

欧拉法欧拉法

欧拉法的几何意义欧拉法的几何意义

改进的欧拉法改进的欧拉法

亚当斯法(隐式)亚当斯法(隐式)

龙格-库塔法龙格-库塔法

亚当斯法(显式)亚当斯法(显式)

Page 4: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

得到进行积分到两端由对式 ,)1.3( 1tto

)(tf 误差

0t 1t t

1

0

d),()( 01

t

tttyfyty

欧拉法虽然计算精度较低,实际中很少采用,但器推倒简单,能说明旧够数值解法一般计算公式的基本思想。

( 3-3 )

图 3.1 矩形近似及其误差

0

欧拉法欧拉法

Page 5: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

0t 1t 2t t

2y1yy

0y

图 3.2 欧拉折线

欧拉法的几何意义 十分清楚。

条折线,

,得到一,,,这样过

。轴直线的交点为平行于它与过的切线

点作积分曲线,再过线的交点即为

轴直处平行于,此切线与斜率为

,其点作为积分曲线的切线通过图

)2,2()1,1()0,0(

2,

,(

),(

),(2.3

2

)111

100

00

ytytyt

yyt

yty

yttyf

yt

称为欧拉折线法。

欧拉法的几何意义欧拉法的几何意义

Page 6: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

图 3.3 梯形近似及其误差

在推导时用图中的阴影面积来近似式 (3.3) 时,由于梯形公式中隐含有待求量,通常可用欧拉法启动初值,算出近似值,然后带如微分方程,最后利用梯形公式求出修正。为提高精度,简化计算,只迭代一次。这样可得改进的欧拉公式:

1t0t

)(tf

t0

)],(),([

),(

1121

1

npn

pnn

hnn

nnnpn

tyftyfyy

tyfhyy ( 3-8 )

第一式称为预估公式,第二式称为校正公式。

改进的欧拉法改进的欧拉法

Page 7: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

龙格 - 库塔( RK )法的一般形式为

r

iiinn kwhyy

11

)()(2

)()()( 32

hotyh

tyhtyhty nnnn

点展开在将式 nt)3.3(

( 3-10 )

( 3-9 )

),(1 nn tyfk

),(1

1

htkhyfk in

i

jjijni

),3,2( ri 式中

泰勒级数

龙格 - 库塔法龙格 - 库塔法

Page 8: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

1

1

i

jiji

( 3-11 )

的值。以确定,展开式的系数进行对比的幂级数,然后和台劳展开成过把式

值后,通。在给定即阶数的个数为使用为待定系数

iij

iiji

w

h

rkrwa

,

)10.3(

)(,,,

)22(6 43211 kkkkh

yy nn

),(1 nn tyfk

)2

,2

( 12h

tkh

yfk nn

)2

,2

( 23

htk

hyfk nn

),( 34 hthkyfk nn

4 阶龙格 - 库塔法式使用较多的一种方法,其公式如下

Page 9: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

在解决积分问题时,采用亚当斯 - 贝喜霍斯显示多步法,简称亚当斯法。

根据牛顿后插公式

nk

kknnn

ji fkh

ttttttfn

htnt

fntP

!

)())(()()( 11

,

( 3-2

5 )

111

212

1

0

)2(

nk

nk

nk

nnnn

nnn

nn

fff

ffff

fff

ff

( 3-26 )

亚当斯法 ( 显式 )亚当斯法 ( 显式 )

Page 10: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

亚当斯多步法的计算公式是

1

01 )()(

k

in

iinn fvhtyty

1

01

0

1i )1()1(1

1

dsisssit

v

v

1

01 )()()( nnnnn hftydsfhtyty

( 3-27 )

( 3-28 )

其中

( k=1 时可得欧拉公式)

Page 11: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

当 k=2 时,得到亚当斯多步法的计算公式, (3-28) 式各系数为

21 1

1

010 dsfvv n

式得代入将 )273(1,0 vv

)3(21)()( 11 nnnn ffhtyty

为式的系数时,当 ivk )283(3

1

02 125)1(

!21 dsssv

( 3-29 )

Page 12: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

故可得三阶亚当斯公式

nnnnn fhfhhftyty 21 12

521)()(

)51623(121)()( 211 nnnnn fffhtyty

整理上式得

( 3-30 )

Page 13: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

牛顿前插公式为

121

11

1,

)())((

)()(

nk

kknnn

nn

nnk

fkh

tttttt

fhtt

ftP

为为向前插分算子,定义其中 nf

)( 11

11

11

111

110

ni

ni

ni

ni

nnn

nn

ffff

fff

ff

( 3-32 )

( 3-31 )

亚当斯法 ( 隐式 )亚当斯法 ( 隐式 )

Page 14: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

)5955(24

y 1p

1n nnn ffhy预测:

)2151919( 1 nfnfnfnfnyycn校正: ( 3-35 )

( 3-34 )

常用的四阶亚当斯预测 - 校正法的计算公式为

1

1

0,1

in

k

iiknn fhyy

仿照显式多法的推倒过程,得亚当斯 - 摩尔顿隐式多步法的计算公式

( 3-33 )

Page 15: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

3.2 刚性系统的特点及算法

一个刚性系统可以这样描述,对于 n 阶微分方程组

)( ),( ayytfdtdy

之比,即征值和最小特征值实部

的衰减速度,其最大特的特征值实部表示系统其雅可比矩阵

维向量为其中

yf

nfffyyy Tn

Tn

Tn

] [,] [,] [ 111

knk

knk

Remin/Remax11

作为系统刚性程序的度量。

( 3-36 )

Page 16: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

当 时,系统为刚性系统,或称为 stiff 系统。对与这样的系统作做数字仿真,其最大的困惑是:积分步长由最大的特征值来确定,最小的特征值决定数值求解总的时间。

刚性系统在时间中的普遍性和重要性已得到广泛的重视,这种方程的数值解已成为常微分方程的数值研究的重点。

目前解刚性方程的数值方法基本分为:

1

显式公式显式公式

隐式公式隐式公式

预测校正预测校正

Page 17: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

显式公式常用雷纳尔法。其中着眼点是,在保证稳定的前提下,尽可能地扩大稳定区域。这一方法的优点是,它是显式的,所以便于程序设计。对一般好的方程设计。对一般条件好的方程,它就还原为四阶龙格 - 库塔方法,而对刚性方程它又有增加稳定性的好处。

众所周知,隐式公式都是稳定的,故都大于解描述刚性系统的方程组,如隐式的龙格 - 库塔法。但这种方法每计算一步都要进行迭代,故计算量大。在工程上使用又一定捆年。因此在解刚性方程时,常 Rosenbrock提出的半隐式龙格 - 库塔法。

预测 - 校正型中常用的解刚性方程的方法式 Gear 算法。 Gear 首先应引进刚性稳定性的概念,它可以满足稳定型,而减低对 h 的要求。 Gear方法是一格通用的方法,它不但使用于解刚性方程组,而且也适用于解非刚性方程组。

Page 18: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

3.3 实时仿真法

假设仿真的连续动力学由非线形常微分方程描述为:

00 )( ),,( ytytuyfdtdy ( 3-37 )

( 3-38 )

对 (3-37) 式采用二阶龙格 - 库塔公式求解,其递推方程可写为

),(

),(

)(21

12

1

211

kyhthfk

ythfk

kkyy

nn

nn

nn

F 为函数,外部输入为 u(t) 。

Page 19: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

并输入计算 ,1ny1nu采入

)2

( htu n 采入2k计算

1k一个计算下

nt 2htn

1nt 21htn htn 1

图 3.6 RK-2 的计算流程

算步距。算机输出要迟后半个计部设备,也就是说,计

入到外时才能计算出来,并输要到的条件。所以计算

才具备外部输入时极端即才能真正采入由于当

2

,

112

11

htyk

utht

nn

nnn

Page 20: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

( 1 )选择 Adams 多步法。 ( 2 )合理地选择龙格 - 库塔法计算公式中的系数,使之适用于实时仿真。

为了适用于实时仿真计算,一般经常采用以下方法:

)12

,2

(

),(

2

1

21

khyhtfk

ytfk

hkyy

nn

nn

nn

式化为

此时,可得式中,令在方程

)183(

,21,10)183( 221

cWW

( 3-39 )

Page 21: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

1

并输出计算 ,1ny)2

( htu n 采入

2k计算

1k一个计算下

1k计算

nt 2htn 1nt 21

htn

图 3.6 实时 RK-2 的计算流程

其流程图如图 3-7 :

Page 22: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

)210

3,5

4(

)5

2,5

3(

)5

2,5

2(

)5

,5

(

),(

)105515(24

415

214

13

12

1

543211

khkhyhtfk

hkkhyhtfk

khyhtfk

khyhtfk

ytfk

kkkkkhyy

nn

nn

nn

nn

nn

nn

( 3-40 )

下面为一个高阶的龙格 - 库塔法计算公式

Page 23: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

( 3 )利用已经取得的值进行外推。

)()()()()1()(ˆ

)(])2/1()2/1[(

)()2()(])2/1()2/3(1[)(ˆ

)()()(ˆ

)]()([)()(ˆ

21

22

22

122

1

mmmm

m

mmm

mmm

mmmm

thuaatuatuaahtu

tuaa

tuaatuaaahtu

tahutuahtu

tutuatuahtu

( 3-41 )

采用外推算法不仅会带来附加的误差,还要增加计算量,所以比较下来还是选择实时算法为佳。

Page 24: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

本章小结本章小结

(2) 在系统仿真中,常用的微分方程的数值积分发有欧拉法、龙在系统仿真中,常用的微分方程的数值积分发有欧拉法、龙格格 -- 库塔法和线性等分法等。数值积分法的分类方式很多,常见的有:库塔法和线性等分法等。数值积分法的分类方式很多,常见的有:单步法和多步法,显式和隐式的分法。使用这些解法时,要注意其单步法和多步法,显式和隐式的分法。使用这些解法时,要注意其特点。特点。

(1) 系统的动态特性通常是用高阶微分方程或一阶微分方程组来系统的动态特性通常是用高阶微分方程或一阶微分方程组来描述的。一般讲只有极少微分方程能用初等方法求得其解析解,多描述的。一般讲只有极少微分方程能用初等方法求得其解析解,多数只能用近似数值求解。利用计算机求解微分方程主要使用数值积数只能用近似数值求解。利用计算机求解微分方程主要使用数值积分法,它是系统仿真的最基本解法。本章重点讨论了数值积分发在分法,它是系统仿真的最基本解法。本章重点讨论了数值积分发在系统仿真中的应用问题。系统仿真中的应用问题。

Page 25: 3.1 连续系统仿真中常用的数值积分法 ……………. 3.2 刚性系统的特点及算法 …………………………. 3.3 实时仿真法 ………………………………………

第三章 数值积分法在系统仿真中的应用 返回返回 主菜单主菜单 退出退出

(3) 实时仿真解法是半实物仿真所必须满足的条件,但并非所有的实时仿真解法是半实物仿真所必须满足的条件,但并非所有的解法都适用于实时解法。应用时,必须仔细选择能满足实时要求的解法都适用于实时解法。应用时,必须仔细选择能满足实时要求的解法和公式。解法和公式。

(4) 有相应一类动力学系统无法用常微分法来描述,而要用偏微分有相应一类动力学系统无法用常微分法来描述,而要用偏微分方程法来描述。例如,热传导问题、振动问题等,这类系统被称为方程法来描述。例如,热传导问题、振动问题等,这类系统被称为分布参数系统。这类系统的数值求解更难,主要的解法有差分解法分布参数系统。这类系统的数值求解更难,主要的解法有差分解法和线上求解法。和线上求解法。

本章小结本章小结