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

举报
资源描述
计算机仿真技术基础计算机仿真技术基础 第三章第三章连续系统数值积分连续系统数值积分仿真方法学仿真方法学1.第二章第二章 连续系统数值积分仿真方法学连续系统数值积分仿真方法学第一节第一节 数值积分法的基本原理数值积分法的基本原理第二节第二节 数值积分法的单步算法数值积分法的单步算法第三节第三节 数值积分法的多步算法数值积分法的多步算法2.如何把已建立起来的数学模型转换成仿真运如何把已建立起来的数学模型转换成仿真运算模型(二次建模),以便为分析解决实际问题服算模型(二次建模),以便为分析解决实际问题服务那是系统仿真学科的一个重要研究内容。务那是系统仿真学科的一个重要研究内容。对于复杂的数学模型来说,求其解析解是很对于复杂的数学模型来说,求其解析解是很烦琐和困难的,大多数情况下不求出解析解,或者烦琐和困难的,大多数情况下不求出解析解,或者根本不存在解析解,因此借助于数值解法对连续系根本不存在解析解,因此借助于数值解法对连续系统进行仿真研究。统进行仿真研究。用计算机不可能求出系统的用计算机不可能求出系统的解析解(连续)解析解(连续)只只能求出连续响应曲线上的有限个点,即能求出连续响应曲线上的有限个点,即数值解数值解3.连续系统数值积分法连续系统数值积分法:就是利用数值积分方:就是利用数值积分方法对常微分方程建立离散化形式的数学模型(差法对常微分方程建立离散化形式的数学模型(差分方程)并求出数值解。分方程)并求出数值解。最常用的数值解法有:最常用的数值解法有:欧拉法、梯形法、欧拉法、梯形法、Adams、RungeKutta法。法。描述各类系统最基本的模型用微分方程或状描述各类系统最基本的模型用微分方程或状态空间表达式,二次建模就是要求出适合用数字态空间表达式,二次建模就是要求出适合用数字计算机求解的模型,就需要把微分运算转化成算计算机求解的模型,就需要把微分运算转化成算术运算在用计算机求解。术运算在用计算机求解。4.第一节第一节 数值积分法的基本原理数值积分法的基本原理首先把需仿真研究的系统表示成一阶微分方首先把需仿真研究的系统表示成一阶微分方程组或状态方程的形式。程组或状态方程的形式。以一阶连续系统为例,微分方程及初值如下:以一阶连续系统为例,微分方程及初值如下:设方程在设方程在处的连续解为:处的连续解为:5.希望找到一个近似公式希望找到一个近似公式来表示方程的近似解:来表示方程的近似解:为精确值为精确值的近似值的近似值为准确积分值为准确积分值的近似值的近似值所谓所谓微分方程初值问题的数值解法微分方程初值问题的数值解法就是寻求就是寻求真解在一系列离散点真解在一系列离散点上的近似解上的近似解(数值解)(数值解)相邻两个时间离散点的间隔相邻两个时间离散点的间隔称为计称为计算算步距或步长步距或步长,通常情况为定值,也有变步长。,通常情况为定值,也有变步长。6.7.可见,微分方程初值问题数值解法的主要问题可见,微分方程初值问题数值解法的主要问题归结为对归结为对为此,要先把连续的微分方程用数值积分法为此,要先把连续的微分方程用数值积分法转化为离散的差分方程的初值问题,然后根据初始转化为离散的差分方程的初值问题,然后根据初始条件条件X0逐步递推计算出后续时刻逐步递推计算出后续时刻的的数值解:数值解:如何求出定积分的近似解如何求出定积分的近似解数值解法的共同特点是步进式的递推算法,数值解法的共同特点是步进式的递推算法,主要有:主要有:单步法单步法、多步法多步法和和预估校正法预估校正法,并有,并有显显式式和和隐式隐式之分。之分。8.一、欧拉法(一、欧拉法(Euler Method)Euler Method)Euler法是最简单的一种数值积分法的单法是最简单的一种数值积分法的单步运算,虽然计算精度较差,但几何意义明显,步运算,虽然计算精度较差,但几何意义明显,便于理解,能说明构造数值积分算法的基本思便于理解,能说明构造数值积分算法的基本思想。想。下面采用三种方法推导出下面采用三种方法推导出Euler法的数值法的数值近似公式,以便对数值积分器的基本思想能透近似公式,以便对数值积分器的基本思想能透彻了解。彻了解。第二节第二节 数值积分法的单步算法数值积分法的单步算法9.、TaylorTaylor级数展开级数展开x(t)为解析解,将为解析解,将x(t)展开成展开成Taylor级数级数 以一阶连续系统为例,以一阶连续系统为例,微分方程及初值如右:微分方程及初值如右:只取一次项,其余忽略只取一次项,其余忽略只取一次项,其余忽略只取一次项,其余忽略写成差分方程为写成差分方程为这就是解微分方程初值问题的欧拉算法。这就是解微分方程初值问题的欧拉算法。10.、矩形近似、矩形近似把积分区间把积分区间 h 取得足够小,将取得足够小,将 在在 近似为常数近似为常数用用左左矩形面积近似该区矩形面积近似该区间的曲线面积间的曲线面积对方程在上求积分对方程在上求积分也能得到:也能得到:11.左矩形(也称为左矩形(也称为前向欧拉法)前向欧拉法)近似及误差近似及误差12.将将 在在 近似为常数近似为常数用用右右矩形面积近似该区间的曲线面积矩形面积近似该区间的曲线面积得到:得到:这是这是右右矩形欧拉公式,是一个矩形欧拉公式,是一个隐式隐式算法算法对积分对积分13.右矩形(也称为右矩形(也称为后向欧拉法后向欧拉法)近似及误差)近似及误差14.、切线近似()、切线近似()取切线上处的值来近似取切线上处的值来近似在在 的一个小邻域内,曲线的一个小邻域内,曲线x(t)可用可用 处的切线处的切线来表示,来表示,x(t)在在 处的斜率为:处的斜率为:也能得到:也能得到:前向欧拉法前向欧拉法过点过点 以以 fn 为斜率的切线方程为:为斜率的切线方程为:15.、切线近似()、切线近似()过点过点 以以 f fn+1n+1 为斜率的切线方程为:为斜率的切线方程为:取切线上处的值来近似取切线上处的值来近似在在 曲线曲线 x(t)可用可用 处的切线来表示,处的切线来表示,x(t)在在 处的斜率为:处的斜率为:也能得到:也能得到:后向欧拉法后向欧拉法16.欧拉法(切线推导)的几何意义欧拉法(切线推导)的几何意义17.欧拉法实际计算时的几何意义欧拉法实际计算时的几何意义18.19.例:例:设系统方程设系统方程试用试用Euler法求其数值解,取步长法求其数值解,取步长 h=0.1,h=0.1,解解:前向前向Euler法递推式法递推式:有初始条件:有初始条件:可进行递推:可进行递推:20.后向后向Euler法递推式法递推式:隐式算法,需先解此非线性方程:隐式算法,需先解此非线性方程:由此公式可进行递推。由此公式可进行递推。21.前向前向Euler法与精确值比较法与精确值比较22.前向前向Euler法、后向法、后向Euler法与精确值比较法与精确值比较23.前向前向Euler法在不同步长的结果比较法在不同步长的结果比较24.二、梯形法二、梯形法 Euler法的计算精度较差,如果改用梯形面积法的计算精度较差,如果改用梯形面积代替每个步距的曲线面积,就可提高精度。代替每个步距的曲线面积,就可提高精度。精确积分应为曲边梯形的面积:精确积分应为曲边梯形的面积:现用直边梯形的面积来近似:现用直边梯形的面积来近似:写成差分方程为写成差分方程为25.梯形近似及其误差26.梯形法实质是采用了梯形法实质是采用了两点斜率平均值的结果,由于利用了两点的信息,两点斜率平均值的结果,由于利用了两点的信息,从而提高了计算精度。从而提高了计算精度。和和27.这一思想被广泛地应用于许多算法中,实际计这一思想被广泛地应用于许多算法中,实际计算时,如果在每个积分步矩中多取几个点,分别求算时,如果在每个积分步矩中多取几个点,分别求出其斜率,然后取不同的权值为:出其斜率,然后取不同的权值为:后面后面RungeKutta法就是采用这样的思想法就是采用这样的思想来进行计算的。来进行计算的。28.梯形法的几何意义也可按折线理解,梯形法的几何意义也可按折线理解,29.梯形法大大提高了精度,但为隐式算法,每梯形法大大提高了精度,但为隐式算法,每次递推计算时需解一次非线性方程,计算量较大次递推计算时需解一次非线性方程,计算量较大由此考虑进行改进,先用由此考虑进行改进,先用Euler法计算出:法计算出:的近似值的近似值代入导函数代入导函数求出近似值求出近似值再代入梯形公式求解。再代入梯形公式求解。预估公式(预估公式(Euler法)法)校正公式(梯形法)校正公式(梯形法)为为预估预估校正法校正法,也称为,也称为改进的改进的Euler法法。30.例:例:设系统方程设系统方程试用梯形法求其数值解,取步长试用梯形法求其数值解,取步长h=0.1,h=0.1,解解:梯形法递推式梯形法递推式:隐式算法,需先解此非线性方程:隐式算法,需先解此非线性方程:由此公式和初始条件可进行递推,见由此公式和初始条件可进行递推,见仿真结果仿真结果。31.例:例:设系统方程设系统方程用改进欧拉法求数值解,取步长用改进欧拉法求数值解,取步长h=0.1,h=0.1,解解:改进欧拉法改进欧拉法:由此公式和初始条件可进行递推,见由此公式和初始条件可进行递推,见仿真结果仿真结果。32.前向前向Euler法、梯形法与精确值比较法、梯形法与精确值比较33.前向前向Euler法、改进欧拉法与精确值比较法、改进欧拉法与精确值比较34.梯形法、改进梯形法、改进Euler法与精确值比较法与精确值比较35.三、三、Runge-KuttaRunge-Kutta法法 、TaylorTaylor级数匹配原理级数匹配原理由于输入函数是由于输入函数是 t 的函数,则将记的函数,则将记做做 得微分方程:得微分方程:如果对变量如果对变量t、x具有各阶导数,可推得具有各阶导数,可推得x(t)的各阶导数。的各阶导数。36.设已知设已知 进行进行Taylor级数展开:级数展开:若已知若已知 的值,则当的值,则当 h h 较小时,可用级数展开的前较小时,可用级数展开的前 p+1 p+1项作为近似项作为近似,令令37.则则 即即 以上公式以上公式(1)(1)就称为就称为p p阶的阶的TaylorTaylor展开法递推公式展开法递推公式 之间的误差为:之间的误差为:局部截断误差与局部截断误差与h hp+1p+1是同阶无穷小量是同阶无穷小量,记为记为O(h(hp+1p+1)(1)38.欧拉法的欧拉法的TaylorTaylor级数展开级数展开只取一次项,其余忽略只取一次项,其余忽略只取一次项,其余忽略只取一次项,其余忽略写成差分方程为写成差分方程为这就是解微分方程初值问题的欧拉算法。这就是解微分方程初值问题的欧拉算法。所以欧拉法称为一阶的所以欧拉法称为一阶的TaylorTaylor展开法递推公式展开法递推公式 局部截断误差与局部截断误差与h h2 2是同阶无穷小量是同阶无穷小量,记为记为O(h(h2 2)39.梯形法的梯形法的梯形法的梯形法的TaylorTaylorTaylorTaylor级数展开级数展开级数展开级数展开取一次项和二次项,取一次项和二次项,取一次项和二次项,取一次项和二次项,写成差分方程为写成差分方程为所以梯形法称为二阶的所以梯形法称为二阶的TaylorTaylor展开法递推公式展开法递推公式O(hO(hO(hO(h3 3 3 3)40.可见可见Taylor展开法需用展开法需用 在在 的的高阶导数计算高阶导数计算 ,不便于数值计算。,不便于数值计算。2 2、Runge-Kutta Runge-Kutta法法 于是于是Runge-Kutta法用法用 在一些点上的在一些点上的值表示值表示 ,使局部截断误差的阶数与,使局部截断误差的阶数与Taylor展开法相等。避免了求高阶导数,又保证高展开法相等。避免了求高阶导数,又保证高的精度。的精度。41.对微分方程在区间对微分方程在区间的连续解为:的连续解为:在在区间区间 取取m 个点个点若已知若已知则用它们的一次组合去近似则用它们的一次组合去近似 ,即即42.?现在的问题是如何求现在的问
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告


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