计算机仿真技术基础第3章连续系统数值积分仿真方法学课件

上传人:大米 文档编号:568305598 上传时间:2024-07-24 格式:PPT 页数:99 大小:2.55MB
返回 下载 相关 举报
计算机仿真技术基础第3章连续系统数值积分仿真方法学课件_第1页
第1页 / 共99页
计算机仿真技术基础第3章连续系统数值积分仿真方法学课件_第2页
第2页 / 共99页
计算机仿真技术基础第3章连续系统数值积分仿真方法学课件_第3页
第3页 / 共99页
计算机仿真技术基础第3章连续系统数值积分仿真方法学课件_第4页
第4页 / 共99页
计算机仿真技术基础第3章连续系统数值积分仿真方法学课件_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《计算机仿真技术基础第3章连续系统数值积分仿真方法学课件》由会员分享,可在线阅读,更多相关《计算机仿真技术基础第3章连续系统数值积分仿真方法学课件(99页珍藏版)》请在金锄头文库上搜索。

1、计算机仿真技术基础计算机仿真技术基础第三章第三章连续系统数值积分连续系统数值积分仿真方法学仿真方法学1计算机仿真技术基础第3章 连续系统数值积分仿真方法学第二章第二章 连续系统数值积分仿真方法学连续系统数值积分仿真方法学第一节第一节 数值积分法的基本原理数值积分法的基本原理第二节第二节 数值积分法的单步算法数值积分法的单步算法第三节第三节 数值积分法的多步算法数值积分法的多步算法2计算机仿真技术基础第3章 连续系统数值积分仿真方法学如何把已建立起来的数学模型转换成仿真运如何把已建立起来的数学模型转换成仿真运算模型(二次建模),以便为分析解决实际问题服算模型(二次建模),以便为分析解决实际问题服

2、务那是系统仿真学科的一个重要研究内容。务那是系统仿真学科的一个重要研究内容。对于复杂的数学模型来说,求其解析解是很对于复杂的数学模型来说,求其解析解是很烦琐和困难的,大多数情况下不求出解析解,或者烦琐和困难的,大多数情况下不求出解析解,或者根本不存在解析解,因此借助于数值解法对连续系根本不存在解析解,因此借助于数值解法对连续系统进行仿真研究。统进行仿真研究。 用计算机不可能求出系统的用计算机不可能求出系统的解析解(连续)解析解(连续)只只能求出连续响应曲线上的有限个点,即能求出连续响应曲线上的有限个点,即数值解数值解3计算机仿真技术基础第3章 连续系统数值积分仿真方法学连续系统数值积分法连续系

3、统数值积分法:就是利用数值积分方:就是利用数值积分方法对常微分方程建立离散化形式的数学模型(差法对常微分方程建立离散化形式的数学模型(差分方程)并求出数值解。分方程)并求出数值解。 最常用的数值解法有:最常用的数值解法有: 欧拉法、梯形法、欧拉法、梯形法、Adams、RungeKutta法。法。 描述各类系统最基本的模型用微分方程或状描述各类系统最基本的模型用微分方程或状态空间表达式,二次建模就是要求出适合用数字态空间表达式,二次建模就是要求出适合用数字计算机求解的模型,就需要把微分运算转化成算计算机求解的模型,就需要把微分运算转化成算术运算在用计算机求解。术运算在用计算机求解。4计算机仿真技

4、术基础第3章 连续系统数值积分仿真方法学第一节第一节 数值积分法的基本原理数值积分法的基本原理首先把需仿真研究的系统表示成一阶微分方首先把需仿真研究的系统表示成一阶微分方程组或状态方程的形式。程组或状态方程的形式。 以一阶连续系统为例,微分方程及初值如下:以一阶连续系统为例,微分方程及初值如下: 设方程在设方程在处的连续解为:处的连续解为:5计算机仿真技术基础第3章 连续系统数值积分仿真方法学希望找到一个近似公式希望找到一个近似公式来表示方程的近似解:来表示方程的近似解:为精确值为精确值的近似值的近似值为准确积分值为准确积分值的近似值的近似值所谓所谓微分方程初值问题的数值解法微分方程初值问题的

5、数值解法就是寻求就是寻求真解在一系列离散点真解在一系列离散点上的近似解上的近似解(数值解)(数值解)相邻两个时间离散点的间隔相邻两个时间离散点的间隔称为计称为计算算步距或步长步距或步长,通常情况为定值,也有变步长。,通常情况为定值,也有变步长。6计算机仿真技术基础第3章 连续系统数值积分仿真方法学7计算机仿真技术基础第3章 连续系统数值积分仿真方法学可见,微分方程初值问题数值解法的主要问题可见,微分方程初值问题数值解法的主要问题归结为对归结为对为此,要先把连续的微分方程用数值积分法为此,要先把连续的微分方程用数值积分法转化为离散的差分方程的初值问题,然后根据初始转化为离散的差分方程的初值问题,

6、然后根据初始条件条件X0逐步递推计算出后续时刻逐步递推计算出后续时刻的的数值解:数值解:如何求出定积分的近似解如何求出定积分的近似解数值解法的共同特点是步进式的递推算法,数值解法的共同特点是步进式的递推算法,主要有:主要有:单步法单步法、多步法多步法和和预估校正法预估校正法,并有,并有显显式式和和隐式隐式之分。之分。8计算机仿真技术基础第3章 连续系统数值积分仿真方法学一、欧拉法(一、欧拉法(Euler Method)Euler Method)Euler法是最简单的一种数值积分法的单法是最简单的一种数值积分法的单步运算,虽然计算精度较差,但几何意义明显,步运算,虽然计算精度较差,但几何意义明显

7、,便于理解,能说明构造数值积分算法的基本思便于理解,能说明构造数值积分算法的基本思想。想。下面采用三种方法推导出下面采用三种方法推导出Euler法的数值法的数值近似公式,以便对数值积分器的基本思想能透近似公式,以便对数值积分器的基本思想能透彻了解。彻了解。第二节第二节 数值积分法的单步算法数值积分法的单步算法9计算机仿真技术基础第3章 连续系统数值积分仿真方法学 、TaylorTaylor级数展开级数展开x(t)为解析解,将为解析解,将x(t)展开成展开成Taylor级数级数 以一阶连续系统为例,以一阶连续系统为例,微分方程及初值如右:微分方程及初值如右:只取一次项,其余忽略只取一次项,其余忽

8、略只取一次项,其余忽略只取一次项,其余忽略写成差分方程为写成差分方程为这就是解微分方程初值问题的欧拉算法。这就是解微分方程初值问题的欧拉算法。10计算机仿真技术基础第3章 连续系统数值积分仿真方法学、矩形近似、矩形近似把积分区间把积分区间 h 取得足够小,将取得足够小,将 在在 近似为常数近似为常数用用左左矩形面积近似该区矩形面积近似该区间的曲线面积间的曲线面积对方程在上求积分对方程在上求积分也能得到:也能得到:11计算机仿真技术基础第3章 连续系统数值积分仿真方法学左矩形(也称为左矩形(也称为前向欧拉法)前向欧拉法)近似及误差近似及误差12计算机仿真技术基础第3章 连续系统数值积分仿真方法学

9、将将 在在 近似为常数近似为常数用用右右矩形面积近似该区间的曲线面积矩形面积近似该区间的曲线面积得到:得到:这是这是右右矩形欧拉公式,是一个矩形欧拉公式,是一个隐式隐式算法算法对积分对积分13计算机仿真技术基础第3章 连续系统数值积分仿真方法学右矩形(也称为右矩形(也称为后向欧拉法后向欧拉法)近似及误差)近似及误差14计算机仿真技术基础第3章 连续系统数值积分仿真方法学、切线近似()、切线近似()取切线上处的值来近似取切线上处的值来近似在在 的一个小邻域内,曲线的一个小邻域内,曲线x(t)可用可用 处的切线处的切线来表示,来表示, x(t) 在在 处的斜率为:处的斜率为:也能得到:也能得到:前

10、向欧拉法前向欧拉法过点过点 以以 fn 为斜率的切线方程为:为斜率的切线方程为:15计算机仿真技术基础第3章 连续系统数值积分仿真方法学、切线近似()、切线近似()过点过点 以以 f fn+1n+1 为斜率的切线方程为:为斜率的切线方程为:取切线上处的值来近似取切线上处的值来近似在在 曲线曲线 x(t) 可用可用 处的切线来表示,处的切线来表示, x(t) 在在 处的斜率为:处的斜率为:也能得到:也能得到:后向欧拉法后向欧拉法16计算机仿真技术基础第3章 连续系统数值积分仿真方法学欧拉法(切线推导)的几何意义欧拉法(切线推导)的几何意义17计算机仿真技术基础第3章 连续系统数值积分仿真方法学欧

11、拉法实际计算时的几何意义欧拉法实际计算时的几何意义18计算机仿真技术基础第3章 连续系统数值积分仿真方法学19计算机仿真技术基础第3章 连续系统数值积分仿真方法学例:例:设系统方程设系统方程试用试用Euler法求其数值解,取步长法求其数值解,取步长 h=0.1,h=0.1,解解:前向前向Euler法递推式法递推式:有初始条件:有初始条件:可进行递推:可进行递推:20计算机仿真技术基础第3章 连续系统数值积分仿真方法学后向后向Euler法递推式法递推式:隐式算法,需先解此非线性方程:隐式算法,需先解此非线性方程:由此公式可进行递推。由此公式可进行递推。21计算机仿真技术基础第3章 连续系统数值积

12、分仿真方法学前向前向Euler法与精确值比较法与精确值比较22计算机仿真技术基础第3章 连续系统数值积分仿真方法学前向前向Euler法、后向法、后向Euler法与精确值比较法与精确值比较23计算机仿真技术基础第3章 连续系统数值积分仿真方法学前向前向Euler法在不同步长的结果比较法在不同步长的结果比较24计算机仿真技术基础第3章 连续系统数值积分仿真方法学二、梯形法二、梯形法 Euler法的计算精度较差,如果改用梯形面积法的计算精度较差,如果改用梯形面积代替每个步距的曲线面积,就可提高精度。代替每个步距的曲线面积,就可提高精度。精确积分应为曲边梯形的面积:精确积分应为曲边梯形的面积:现用直边

13、梯形的面积来近似:现用直边梯形的面积来近似:写成差分方程为写成差分方程为25计算机仿真技术基础第3章 连续系统数值积分仿真方法学梯形近似及其误差26计算机仿真技术基础第3章 连续系统数值积分仿真方法学梯形法实质是采用了梯形法实质是采用了两点斜率平均值的结果,由于利用了两点的信息,两点斜率平均值的结果,由于利用了两点的信息,从而提高了计算精度。从而提高了计算精度。和和27计算机仿真技术基础第3章 连续系统数值积分仿真方法学 这一思想被广泛地应用于许多算法中,实际计这一思想被广泛地应用于许多算法中,实际计算时,如果在每个积分步矩中多取几个点,分别求算时,如果在每个积分步矩中多取几个点,分别求出其斜

14、率,然后取不同的权值为:出其斜率,然后取不同的权值为: 后面后面RungeKutta法就是采用这样的思想法就是采用这样的思想来进行计算的。来进行计算的。28计算机仿真技术基础第3章 连续系统数值积分仿真方法学梯形法的几何意义也可按折线理解,梯形法的几何意义也可按折线理解,29计算机仿真技术基础第3章 连续系统数值积分仿真方法学 梯形法大大提高了精度,但为隐式算法,每梯形法大大提高了精度,但为隐式算法,每次递推计算时需解一次非线性方程,计算量较大次递推计算时需解一次非线性方程,计算量较大由此考虑进行改进,先用由此考虑进行改进,先用Euler法计算出:法计算出:的近似值的近似值代入导函数代入导函数

15、求出近似值求出近似值再代入梯形公式求解。再代入梯形公式求解。预估公式(预估公式(Euler法)法)校正公式(梯形法)校正公式(梯形法) 为为预估预估校正法校正法,也称为,也称为改进的改进的Euler法法。30计算机仿真技术基础第3章 连续系统数值积分仿真方法学例:例:设系统方程设系统方程试用梯形法求其数值解,取步长试用梯形法求其数值解,取步长h=0.1,h=0.1,解解:梯形法递推式梯形法递推式:隐式算法,需先解此非线性方程:隐式算法,需先解此非线性方程:由此公式和初始条件可进行递推,见由此公式和初始条件可进行递推,见仿真结果仿真结果。31计算机仿真技术基础第3章 连续系统数值积分仿真方法学例

16、:例:设系统方程设系统方程用改进欧拉法求数值解,取步长用改进欧拉法求数值解,取步长h=0.1,h=0.1,解解:改进欧拉法改进欧拉法:由此公式和初始条件可进行递推,见由此公式和初始条件可进行递推,见仿真结果仿真结果。32计算机仿真技术基础第3章 连续系统数值积分仿真方法学前向前向Euler法、梯形法与精确值比较法、梯形法与精确值比较33计算机仿真技术基础第3章 连续系统数值积分仿真方法学前向前向Euler法、改进欧拉法与精确值比较法、改进欧拉法与精确值比较34计算机仿真技术基础第3章 连续系统数值积分仿真方法学梯形法、改进梯形法、改进Euler法与精确值比较法与精确值比较35计算机仿真技术基础

17、第3章 连续系统数值积分仿真方法学三、三、Runge-KuttaRunge-Kutta法法 、TaylorTaylor级数匹配原理级数匹配原理由于输入函数是由于输入函数是 t 的函数,则将记的函数,则将记做做 得微分方程:得微分方程:如果对变量如果对变量t、x具有各阶导数,可推得具有各阶导数,可推得x(t)的各阶导数。的各阶导数。36计算机仿真技术基础第3章 连续系统数值积分仿真方法学 设已知设已知 进行进行Taylor级数展开:级数展开: 若已知若已知 的值,则当的值,则当 h h 较小时,可用级数展开的前较小时,可用级数展开的前 p+1 p+1项作为近似项作为近似, ,令令37计算机仿真技

18、术基础第3章 连续系统数值积分仿真方法学 则则 即即 以上公式以上公式(1)(1)就称为就称为p p阶的阶的TaylorTaylor展开法递推公式展开法递推公式 之间的误差为:之间的误差为: 局部截断误差与局部截断误差与h hp+1p+1是同阶无穷小量是同阶无穷小量, ,记为记为O(h(hp+1p+1) ) (1)38计算机仿真技术基础第3章 连续系统数值积分仿真方法学欧拉法的欧拉法的TaylorTaylor级数展开级数展开只取一次项,其余忽略只取一次项,其余忽略只取一次项,其余忽略只取一次项,其余忽略写成差分方程为写成差分方程为这就是解微分方程初值问题的欧拉算法。这就是解微分方程初值问题的欧

19、拉算法。所以欧拉法称为一阶的所以欧拉法称为一阶的TaylorTaylor展开法递推公式展开法递推公式 局部截断误差与局部截断误差与h h2 2是同阶无穷小量是同阶无穷小量, ,记为记为O(h(h2 2) )39计算机仿真技术基础第3章 连续系统数值积分仿真方法学梯形法的梯形法的梯形法的梯形法的TaylorTaylorTaylorTaylor级数展开级数展开级数展开级数展开取一次项和二次项,取一次项和二次项,取一次项和二次项,取一次项和二次项,写成差分方程为写成差分方程为所以梯形法称为二阶的所以梯形法称为二阶的TaylorTaylor展开法递推公式展开法递推公式O(hO(hO(hO(h3 3 3

20、 3) ) ) )40计算机仿真技术基础第3章 连续系统数值积分仿真方法学 可见可见Taylor展开法需用展开法需用 在在 的的高阶导数计算高阶导数计算 ,不便于数值计算。,不便于数值计算。2 2、 Runge-Kutta Runge-Kutta法法 于是于是Runge-Kutta法用法用 在一些点上的在一些点上的值表示值表示 ,使局部截断误差的阶数与,使局部截断误差的阶数与Taylor展开法相等。避免了求高阶导数,又保证高展开法相等。避免了求高阶导数,又保证高的精度。的精度。41计算机仿真技术基础第3章 连续系统数值积分仿真方法学 对微分方程在区间对微分方程在区间的连续解为:的连续解为:在在

21、区间区间 取取m 个点个点若已知若已知则用它们的一次组合去近似则用它们的一次组合去近似 ,即即42计算机仿真技术基础第3章 连续系统数值积分仿真方法学?现在的问题是如何求现在的问题是如何求设已知设已知因为因为 是未知的,最简单的用欧拉法构造。是未知的,最简单的用欧拉法构造。由由Euler法法43计算机仿真技术基础第3章 连续系统数值积分仿真方法学若按原有欧拉法计算下一步距的值得若按原有欧拉法计算下一步距的值得以二阶以二阶Runge-Kutta法为例说明。法为例说明。精度较差,为改进精度,由欧拉法以步长精度较差,为改进精度,由欧拉法以步长 ah得到另一个点得到另一个点设已知某步设已知某步从点开始

22、,沿斜率为方向移从点开始,沿斜率为方向移动一个步长动一个步长h,得到,得到44计算机仿真技术基础第3章 连续系统数值积分仿真方法学从图中可见三点从图中可见三点可得到比欧拉法精度较好的近似值。可得到比欧拉法精度较好的近似值。在一条直线上,可选取参数在一条直线上,可选取参数 b1、 b构造:构造:45计算机仿真技术基础第3章 连续系统数值积分仿真方法学二阶二阶R-KR-K构造法构造法tX(t)tmtm+1x xE Em+1m+1x(tx(tm+1m+1) )tm+ahx xE Em+am+ax(tx(tm m) )46计算机仿真技术基础第3章 连续系统数值积分仿真方法学欧拉法计算欧拉法计算欧拉法计

23、算欧拉法计算以步长以步长以步长以步长ahah得到另一个点得到另一个点得到另一个点得到另一个点从点开从点开从点开从点开始,沿斜率为方向移始,沿斜率为方向移始,沿斜率为方向移始,沿斜率为方向移动一个步长动一个步长动一个步长动一个步长h h,得到,得到,得到,得到可选取参数可选取参数可选取参数可选取参数 b b1 1、 b b构造:构造:构造:构造:以得到比欧拉法精度较以得到比欧拉法精度较以得到比欧拉法精度较以得到比欧拉法精度较好的近似值。好的近似值。好的近似值。好的近似值。47计算机仿真技术基础第3章 连续系统数值积分仿真方法学以上计算归结为:以上计算归结为:记记则则48计算机仿真技术基础第3章

24、连续系统数值积分仿真方法学?如何选取参数如何选取参数a a、b b1 1、b b2 2,可获得最高的精度可获得最高的精度将将k k2 2在处展开成在处展开成TaylorTaylor级数级数见见49计算机仿真技术基础第3章 连续系统数值积分仿真方法学代入式子代入式子代入式子代入式子见见若满足若满足若满足若满足则与则与则与则与TaylorTaylor展开式前三项相同展开式前三项相同展开式前三项相同展开式前三项相同50计算机仿真技术基础第3章 连续系统数值积分仿真方法学局部截断误差局部截断误差局部截断误差局部截断误差三个未知数,两个三个未知数,两个三个未知数,两个三个未知数,两个方程,有多组解:方程

25、,有多组解:方程,有多组解:方程,有多组解:局部截断误差是局部截断误差是局部截断误差是局部截断误差是h h的三阶无穷小量的三阶无穷小量的三阶无穷小量的三阶无穷小量, ,比欧拉法的精度高一阶比欧拉法的精度高一阶比欧拉法的精度高一阶比欧拉法的精度高一阶若取若取若取若取a=1a=1时,时,时,时,得到:得到:改进的改进的Euler公式公式51计算机仿真技术基础第3章 连续系统数值积分仿真方法学若取时,若取时,若取时,若取时,得:得:修正的修正的Euler公式公式或中点公式或中点公式显式显式p阶阶Runge-Kutta法的一般形式为:法的一般形式为:52计算机仿真技术基础第3章 连续系统数值积分仿真方

26、法学3 3、常用的、常用的Runge-KuttaRunge-Kutta法:法:) Kutta三阶法三阶法53计算机仿真技术基础第3章 连续系统数值积分仿真方法学) Heun三阶法三阶法54计算机仿真技术基础第3章 连续系统数值积分仿真方法学3) 经典显式四阶经典显式四阶Runge-Kutta法法55计算机仿真技术基础第3章 连续系统数值积分仿真方法学四、微分方程数值积分的矩阵分析法四、微分方程数值积分的矩阵分析法 前述的各类数值积分公式都以一阶系统(单前述的各类数值积分公式都以一阶系统(单个的微分方程)进行讨论,而实际工程中大量的个的微分方程)进行讨论,而实际工程中大量的仿真对象是高阶系统,可

27、用一阶微分方程组来描仿真对象是高阶系统,可用一阶微分方程组来描述。述。此时,数值积分公式有相应的矩阵形式。此时,数值积分公式有相应的矩阵形式。56计算机仿真技术基础第3章 连续系统数值积分仿真方法学矩阵形式的数值积分公式:矩阵形式的数值积分公式:) 欧拉法公式欧拉法公式前向欧拉法公式前向欧拉法公式后向欧拉法公式后向欧拉法公式57计算机仿真技术基础第3章 连续系统数值积分仿真方法学) 梯形法公式梯形法公式)二阶龙格库塔法公式)二阶龙格库塔法公式改进的欧拉法公式,是预估校正公式。改进的欧拉法公式,是预估校正公式。58计算机仿真技术基础第3章 连续系统数值积分仿真方法学) 四阶龙格库塔法公式(四阶龙

28、格库塔法公式(RK4)59计算机仿真技术基础第3章 连续系统数值积分仿真方法学对于对于 n 阶系统,状态向量阶系统,状态向量 x 为为 n 维,计算中维,计算中每前进一步每前进一步 h ,要计算,要计算 4n 个个 kij 值,对状态空间表值,对状态空间表达式:达式:此时,此时,RK4公式的个公式的个 k 值:值:60计算机仿真技术基础第3章 连续系统数值积分仿真方法学例:例:系统方程系统方程系统方程系统方程取步长取步长取步长取步长 h=0.1,h=0.1,h=0.1,h=0.1,试用试用试用试用RK4RK4法求法求法求法求t=0.1t=0.1,0.20.2时的解时的解时的解时的解解解:将原系

29、统方程化为状态方程形式:将原系统方程化为状态方程形式:将原系统方程化为状态方程形式:将原系统方程化为状态方程形式:61计算机仿真技术基础第3章 连续系统数值积分仿真方法学见见见见仿真结果仿真结果仿真结果仿真结果作业:作业:作业:作业:P149P1493.23.262计算机仿真技术基础第3章 连续系统数值积分仿真方法学习题习题3-23-2:已知已知用前向欧拉法、梯形法求其数值解,取步长用前向欧拉法、梯形法求其数值解,取步长h=0.1h=0.1解解:前向欧拉法递推式前向欧拉法递推式:63计算机仿真技术基础第3章 连续系统数值积分仿真方法学64计算机仿真技术基础第3章 连续系统数值积分仿真方法学习题

30、习题3-23-2:已知已知用前向欧拉法、梯形法求其数值解,取步长用前向欧拉法、梯形法求其数值解,取步长h=0.1h=0.1解解:梯形法递推式梯形法递推式:隐式算法,需先解此非线性方程:隐式算法,需先解此非线性方程:隐式算法,需先解此非线性方程:隐式算法,需先解此非线性方程:65计算机仿真技术基础第3章 连续系统数值积分仿真方法学66计算机仿真技术基础第3章 连续系统数值积分仿真方法学单步法的特点:计算单步法的特点:计算 n+1 n+1 时刻的值时刻的值 y yn+1n+1 时,时,只用到第只用到第 n n 时刻的时刻的 y yn n 和和 f fn n 。如果能利用多步计算信息(历史时刻值),

31、如果能利用多步计算信息(历史时刻值),则可能既加快仿真速度又获得较高的仿真精度,这则可能既加快仿真速度又获得较高的仿真精度,这就是构造多步法的出发点。就是构造多步法的出发点。第三节第三节 数值积分法的多步算法数值积分法的多步算法实际在逐步递推过程中,计算实际在逐步递推过程中,计算 y yn+1n+1 时已经获时已经获得一系列的近似值:得一系列的近似值: 以及以及 。多步法中以多步法中以 Adams Adams 法法最具代表性,应用最为最具代表性,应用最为普遍。普遍。67计算机仿真技术基础第3章 连续系统数值积分仿真方法学 对一阶连续系统:对一阶连续系统:连续解为:连续解为:现过三点现过三点按插

32、值原理构造一个多项式按插值原理构造一个多项式 来逼近函数来逼近函数对函数对函数,再对多项式再对多项式积分近似积分近似积分积分 一、一、AdamsAdams算法算法68计算机仿真技术基础第3章 连续系统数值积分仿真方法学69计算机仿真技术基础第3章 连续系统数值积分仿真方法学得:得:多项式多项式 中的系数由下决定:中的系数由下决定: 拉格朗日插值公式拉格朗日插值公式拉格朗日插值公式拉格朗日插值公式令:令:同时同时考虑:考虑:70计算机仿真技术基础第3章 连续系统数值积分仿真方法学因为有:因为有:进行变量替换:进行变量替换:71计算机仿真技术基础第3章 连续系统数值积分仿真方法学显然,对多项式的积

33、分计算很容易。显然,对多项式的积分计算很容易。72计算机仿真技术基础第3章 连续系统数值积分仿真方法学微分方程连续解为:微分方程连续解为:写成差分方程:写成差分方程:这就是显式两步二阶这就是显式两步二阶Adams递推式。递推式。73计算机仿真技术基础第3章 连续系统数值积分仿真方法学显式显式 Adams 算法的系数值算法的系数值显式显式 Adams 算法的递推公式为:算法的递推公式为: b bi ib bo ob b1 1b b2 2b b3 3b b4 40113/2-1/2223/12-16/125/12325/24-59/2437/24-9/2441901/720-2774/720261

34、6/720 -1274/720-19/720k74计算机仿真技术基础第3章 连续系统数值积分仿真方法学隐式隐式 Adams 算法的系数值算法的系数值隐式隐式 Adams 算法的递推公式为:算法的递推公式为: b bi ib b-1-1b b0 0b b1 1b b2 2b b3 30111/21/225/128/12-1/1239/2419/24-5/241/244251/720 646/720-264/720106/720 -19/720k75计算机仿真技术基础第3章 连续系统数值积分仿真方法学无论用显式或隐式无论用显式或隐式 k 阶阶Adams 法求解微分方法求解微分方程初值问题数值,需要

35、先知道程初值问题数值,需要先知道 k+1 个初始值。个初始值。例如三步例如三步Adams 法:法:于是初始值于是初始值只能从初始条件得到只能从初始条件得到 ,还需知道,还需知道才能求出:才能求出:需用需用单步法单步法求出,才能使求出,才能使多步法多步法的递推计算能够进行。为保证多步法的精的递推计算能够进行。为保证多步法的精度,注意选择相应精度的单步法计算初始值。度,注意选择相应精度的单步法计算初始值。76计算机仿真技术基础第3章 连续系统数值积分仿真方法学例:例:设系统方程设系统方程用显式二阶用显式二阶Adams法求解,取步长法求解,取步长h=0.1,h=0.1,解解:显式二阶显式二阶Adam

36、s法:法:起步初始值由梯形公式求出:起步初始值由梯形公式求出:77计算机仿真技术基础第3章 连续系统数值积分仿真方法学下面就可以用下面就可以用Adams公式公式进行进行递推递推:有初始条件:有初始条件:可进行初值计算:可进行初值计算:78计算机仿真技术基础第3章 连续系统数值积分仿真方法学 为计算为计算 的值,用到的值,用到 时刻以前的值来推时刻以前的值来推导,可获得性能更好的算法。由导,可获得性能更好的算法。由 Adams 法得出更法得出更为一般的形式:为一般的形式:即:即: 再令再令 二、线性多步法二、线性多步法解出:解出:79计算机仿真技术基础第3章 连续系统数值积分仿真方法学 为计算为

37、计算 的值,用到的值,用到和相应的导数值和相应的导数值而且公式关于而且公式关于 x 、 f 是线性的,称为线性是线性的,称为线性 k 步法步法来推导来推导即:即: 当:当: 称为称为显式显式线性线性 k 步法步法当:当: 称为称为隐式隐式线性线性 k 步法步法80计算机仿真技术基础第3章 连续系统数值积分仿真方法学 时的情形。时的情形。是线性是线性 k 步法步法再看前面的再看前面的 当:当: 显式显式 Adams 算法的递推公式为:算法的递推公式为:隐式隐式 Adams 算法的递推公式为:算法的递推公式为:81计算机仿真技术基础第3章 连续系统数值积分仿真方法学?接下来的问题就是线性接下来的问

38、题就是线性 k 步法步法如何确定其中的常数如何确定其中的常数 应用应用 Taylor 级数匹配原理,使局部截断误级数匹配原理,使局部截断误差尽可能的小。差尽可能的小。82计算机仿真技术基础第3章 连续系统数值积分仿真方法学将将处展开成处展开成Taylor 级数,级数,和和再带入误差公式得:再带入误差公式得:其中:其中:83计算机仿真技术基础第3章 连续系统数值积分仿真方法学对于对于若能选取若能选取 使:使:则此线性多步法为则此线性多步法为 p 阶阶 k 步步算法。算法。84计算机仿真技术基础第3章 连续系统数值积分仿真方法学3、构造线性多步法、构造线性多步法 确定步数确定步数确定步数确定步数

39、k k ,由,由,由,由TaylorTaylor级数匹配原理的级数匹配原理的级数匹配原理的级数匹配原理的 得到方程求出待定系数得到方程求出待定系数得到方程求出待定系数得到方程求出待定系数 ,得出尽可能高阶的算法。,得出尽可能高阶的算法。,得出尽可能高阶的算法。,得出尽可能高阶的算法。以二步法为例说明构造步骤:以二步法为例说明构造步骤:以二步法为例说明构造步骤:以二步法为例说明构造步骤:5 5个未知个未知个未知个未知数,数,数,数,4 4个个个个方程,方程,方程,方程,85计算机仿真技术基础第3章 连续系统数值积分仿真方法学 得:得:得:得: 得到一般的线性二步法形式:得到一般的线性二步法形式:

40、得到一般的线性二步法形式:得到一般的线性二步法形式:是三阶二步法;是三阶二步法;是三阶二步法;是三阶二步法; 又可得:又可得:又可得:又可得:是四阶二步法:是四阶二步法:是四阶二步法:是四阶二步法:称为称为称为称为MilneMilne算法算法算法算法隐式算隐式算隐式算隐式算法法法法86计算机仿真技术基础第3章 连续系统数值积分仿真方法学为三阶隐式算为三阶隐式算为三阶隐式算为三阶隐式算法法法法 就是三阶隐式就是三阶隐式就是三阶隐式就是三阶隐式AdamsAdams法法法法? ?如何得到二步显式算如何得到二步显式算如何得到二步显式算如何得到二步显式算法法法法得到二步显式算得到二步显式算得到二步显式算

41、得到二步显式算法法法法但这是一个数值不稳定算但这是一个数值不稳定算但这是一个数值不稳定算但这是一个数值不稳定算法,计算中出现的微小误差会迅速增长。法,计算中出现的微小误差会迅速增长。法,计算中出现的微小误差会迅速增长。法,计算中出现的微小误差会迅速增长。因此,二步显式算法无法达到三阶,最多达到二阶。因此,二步显式算法无法达到三阶,最多达到二阶。因此,二步显式算法无法达到三阶,最多达到二阶。因此,二步显式算法无法达到三阶,最多达到二阶。87计算机仿真技术基础第3章 连续系统数值积分仿真方法学只用三个方程只用三个方程只用三个方程只用三个方程二阶二步显式算二阶二步显式算二阶二步显式算二阶二步显式算法

42、的一般形式:法的一般形式:法的一般形式:法的一般形式:二阶二步二阶二步二阶二步二阶二步AdamsAdams显式算显式算显式算显式算法法法法88计算机仿真技术基础第3章 连续系统数值积分仿真方法学为为为为AdamsAdams法法法法为向后微分公式为向后微分公式为向后微分公式为向后微分公式显然是隐式公式显然是隐式公式显然是隐式公式显然是隐式公式若要求向后微分公式为若要求向后微分公式为若要求向后微分公式为若要求向后微分公式为KK阶算法,则阶算法,则阶算法,则阶算法,则89计算机仿真技术基础第3章 连续系统数值积分仿真方法学当当当当K=1K=1为向后为向后为向后为向后EularEular法法法法90计

43、算机仿真技术基础第3章 连续系统数值积分仿真方法学K=1,2,.6的向后微分公式系数值的向后微分公式系数值 11-1122/31/3-4/3136/11-2/119/11-18/111412/253/25-16/2536/25-48/2515161k91计算机仿真技术基础第3章 连续系统数值积分仿真方法学 计算计算计算计算 时,仅已知时,仅已知时,仅已知时,仅已知和相应的导数值和相应的导数值和相应的导数值和相应的导数值 称为线性多步法的称为线性多步法的起步值起步值,需用单步法来求出。,需用单步法来求出。 若线性多步法是若线性多步法是P阶算法,计算阶算法,计算起步值的算法起步值的算法不应低于不应

44、低于P阶阶,否则影响计算精度。,否则影响计算精度。92计算机仿真技术基础第3章 连续系统数值积分仿真方法学仿真步长仿真步长仿真步长仿真步长 h h 的选取,是否影响仿真结果?先看一个例子:的选取,是否影响仿真结果?先看一个例子:的选取,是否影响仿真结果?先看一个例子:的选取,是否影响仿真结果?先看一个例子:第四节第四节 数值积分法稳定性分析数值积分法稳定性分析系统稳定,精确解:系统稳定,精确解:系统稳定,精确解:系统稳定,精确解:用前向欧拉法求解:用前向欧拉法求解:用前向欧拉法求解:用前向欧拉法求解: ch3_6.m ch3_6.m93计算机仿真技术基础第3章 连续系统数值积分仿真方法学由此可

45、见,仿真步长由此可见,仿真步长由此可见,仿真步长由此可见,仿真步长 h h 的选取,会影响仿真结果。的选取,会影响仿真结果。的选取,会影响仿真结果。的选取,会影响仿真结果。 用前向欧拉法求解,当用前向欧拉法求解,当用前向欧拉法求解,当用前向欧拉法求解,当 h h 0.2 0.2时不稳定,是由于时不稳定,是由于时不稳定,是由于时不稳定,是由于步长太大,从而截断误差太大造成的。步长太大,从而截断误差太大造成的。步长太大,从而截断误差太大造成的。步长太大,从而截断误差太大造成的。一、数值解法稳定性的含义一、数值解法稳定性的含义一、数值解法稳定性的含义一、数值解法稳定性的含义 数值解的稳定性:在扰动(

46、初始误差、舍入误差、数值解的稳定性:在扰动(初始误差、舍入误差、数值解的稳定性:在扰动(初始误差、舍入误差、数值解的稳定性:在扰动(初始误差、舍入误差、截断误差)的影响下,计算过程中的累积误差不会随截断误差)的影响下,计算过程中的累积误差不会随截断误差)的影响下,计算过程中的累积误差不会随截断误差)的影响下,计算过程中的累积误差不会随计算步数的增加而无限增长。计算步数的增加而无限增长。计算步数的增加而无限增长。计算步数的增加而无限增长。 微分方程的数值积分方法,实质是微分方程的差分微分方程的数值积分方法,实质是微分方程的差分微分方程的数值积分方法,实质是微分方程的差分微分方程的数值积分方法,实

47、质是微分方程的差分化,然后从初始条件递推迭代。不同数值解法对应着化,然后从初始条件递推迭代。不同数值解法对应着化,然后从初始条件递推迭代。不同数值解法对应着化,然后从初始条件递推迭代。不同数值解法对应着不同的差分方程,是否稳定取决于该差分方程的特征不同的差分方程,是否稳定取决于该差分方程的特征不同的差分方程,是否稳定取决于该差分方程的特征不同的差分方程,是否稳定取决于该差分方程的特征根是否满足稳定性要求。(处于根是否满足稳定性要求。(处于根是否满足稳定性要求。(处于根是否满足稳定性要求。(处于Z Z平面上以原点为圆平面上以原点为圆平面上以原点为圆平面上以原点为圆心的单位圆内)心的单位圆内)心的

48、单位圆内)心的单位圆内)94计算机仿真技术基础第3章 连续系统数值积分仿真方法学着重研究单步法的稳定性对步长的限制。着重研究单步法的稳定性对步长的限制。着重研究单步法的稳定性对步长的限制。着重研究单步法的稳定性对步长的限制。二、二、二、二、数值解法稳定性分析数值解法稳定性分析数值解法稳定性分析数值解法稳定性分析这样做的根据是:这样做的根据是:这样做的根据是:这样做的根据是:1 1)试验模型简单,对其数值不稳定的方法,不可用;)试验模型简单,对其数值不稳定的方法,不可用;)试验模型简单,对其数值不稳定的方法,不可用;)试验模型简单,对其数值不稳定的方法,不可用;2 2)一般的初始问题在其解的存在

49、区域内,可局部线性)一般的初始问题在其解的存在区域内,可局部线性)一般的初始问题在其解的存在区域内,可局部线性)一般的初始问题在其解的存在区域内,可局部线性化转化为试验方程。化转化为试验方程。化转化为试验方程。化转化为试验方程。95计算机仿真技术基础第3章 连续系统数值积分仿真方法学只要原系统是稳定的,即只要原系统是稳定的,即只要原系统是稳定的,即只要原系统是稳定的,即不等式成立不等式成立不等式成立不等式成立称后向欧拉法是称后向欧拉法是称后向欧拉法是称后向欧拉法是恒稳定恒稳定恒稳定恒稳定的算法。的算法。的算法。的算法。 96计算机仿真技术基础第3章 连续系统数值积分仿真方法学只要原系统是稳定的

50、,即只要原系统是稳定的,即只要原系统是稳定的,即只要原系统是稳定的,即不等式成立不等式成立不等式成立不等式成立与后向欧拉法一样,是与后向欧拉法一样,是与后向欧拉法一样,是与后向欧拉法一样,是恒稳定恒稳定恒稳定恒稳定的算法。的算法。的算法。的算法。 97计算机仿真技术基础第3章 连续系统数值积分仿真方法学解:用欧拉法解试验方程时对步长要求解:用欧拉法解试验方程时对步长要求解:用欧拉法解试验方程时对步长要求解:用欧拉法解试验方程时对步长要求98计算机仿真技术基础第3章 连续系统数值积分仿真方法学一、选择数值积分方法考虑的因素一、选择数值积分方法考虑的因素一、选择数值积分方法考虑的因素一、选择数值积

51、分方法考虑的因素第五节第五节 数值积分法的选择与计算步长的确定数值积分法的选择与计算步长的确定1 1、精度要求、精度要求、精度要求、精度要求截断误差(积分方法、方法阶次、步长大小)截断误差(积分方法、方法阶次、步长大小)截断误差(积分方法、方法阶次、步长大小)截断误差(积分方法、方法阶次、步长大小)舍入误差(计算机步长、步长大小、程序设计)舍入误差(计算机步长、步长大小、程序设计)舍入误差(计算机步长、步长大小、程序设计)舍入误差(计算机步长、步长大小、程序设计)2 2、计算速度、计算速度、计算速度、计算速度主要取决于每步积分运算所花费的时间和积分总次数主要取决于每步积分运算所花费的时间和积分

52、总次数主要取决于每步积分运算所花费的时间和积分总次数主要取决于每步积分运算所花费的时间和积分总次数3 3、数值解的稳定性、数值解的稳定性、数值解的稳定性、数值解的稳定性二、积分步长的选择二、积分步长的选择二、积分步长的选择二、积分步长的选择步长太大,导致较大的截断误差,数值不稳定;步长太大,导致较大的截断误差,数值不稳定;步长太大,导致较大的截断误差,数值不稳定;步长太大,导致较大的截断误差,数值不稳定;步长太小,增加计算次数,舍入误差的累积使总误差加大;步长太小,增加计算次数,舍入误差的累积使总误差加大;步长太小,增加计算次数,舍入误差的累积使总误差加大;步长太小,增加计算次数,舍入误差的累积使总误差加大;所以,步长选择要适中。所以,步长选择要适中。所以,步长选择要适中。所以,步长选择要适中。99计算机仿真技术基础第3章 连续系统数值积分仿真方法学

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号