《计算方法第六章ppt课件.ppt》由会员分享,可在线阅读,更多相关《计算方法第六章ppt课件.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目第第6 6章章 常微分方程数值解法常微分方程数值解法6.1 6.1 欧拉法和改进的欧拉法欧拉法和改进的欧拉法6.2 6.2 龙格龙格-库塔法库塔法6.3 6.3 线性多步法线性多步法引言引言认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目一阶常微分方程一阶常微分方程的初值问题的初值问题当当f(x,y)连续连续,且满足且满足Lipschitz(李普希兹李普希兹)条件条件|f(x,y1)f(x,y2)|L|y1y
2、2|,xa,b,y1,y2R则上述初值问题存在连续可微的则上述初值问题存在连续可微的解函数解函数y=y(x).例如初值问题例如初值问题可求出方程可求出方程y=1+ex的通解为的通解为y=x+ex+c,将初值条件将初值条件x=0,y=2代入得代入得2=1+c,故故c=1,所以初值问题的解为所以初值问题的解为y=x+ex+1引言引言引言引言认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目又如初值问题又如初值问题 可求出它的解为可求出它的解为 但要进一步计算指定点的函数值,还需要用数值积分方法。但要进一步计算指定点的函数值,还需要
3、用数值积分方法。有些微分方程的解是隐函数,例如有些微分方程的解是隐函数,例如要求函数值还需要解超越方程。应用中所处理的微分方程要求函数值还需要解超越方程。应用中所处理的微分方程往往很复杂且大都得不出一般解,所以一般用数值解法。往往很复杂且大都得不出一般解,所以一般用数值解法。数值解法:数值解法:给定节点给定节点a=x0 x1xN=b,将初值问题离散化为差分方将初值问题离散化为差分方程程,求出解函数求出解函数y(x)在这些点的近似值在这些点的近似值y1,y2,yn。所求得的近似值称为所求得的近似值称为数值解数值解。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作
4、高度重视,已经展开了“精准扶贫”项目6.1 6.1 欧拉法和改进的欧拉法欧拉法和改进的欧拉法6.1.1 6.1.1 欧拉法及其截断误差欧拉法及其截断误差6.1.2 6.1.2 改进的欧拉法及预测改进的欧拉法及预测-校正公式校正公式认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目6.1.1 6.1.1 欧拉法及其截断误差欧拉法及其截断误差1.公式的构造思想:用差商代替导数公式的构造思想:用差商代替导数 设设 等距,步长为等距,步长为 令令x=xi,x+h=xi+1,y(xi)yi,y(xi+1)yi+1,初值问题初值问题离散化
5、为离散化为初值问题初值问题(欧拉公式欧拉公式)认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例例 6.1 取步长取步长 h=0.1,用欧拉法求解初值问题用欧拉法求解初值问题(欧拉公式欧拉公式)解解 y1=y0+hf(x0,y0)=1+0.1(0+1)=1.1y2=y1+hf(x1,y1)=1.1+0.1(0.1+1.1)=1.22y3=y2+hf(x2,y2)=1.22+0.1(0.2+1.22)=1.22+0.142=1.362y10=y9+hf(x9,y9)=y9+0.1(x9+y9)=3.18748认识到了贫困户贫困
6、的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目2.2.几何意义几何意义用折线代替曲线计算解函数的近似值。用折线代替曲线计算解函数的近似值。准确准确解为解为 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目3.数值公式的误差来源。数值公式的误差来源。(1)局部截断局部截断误差(简称误差(简称截断误差截断误差):假设):假设 yi=y(xi)是准确的是准确的,计算计算yi+1所产生的误差所产生的误差 y(xi+1)-yi+1 若局部截断误差可以表示为若局部截断误差可以表示为O
7、(hk+1),k为正整数,为正整数,则称公式是则称公式是k阶公式阶公式。(2)由于实际上)由于实际上yi不是准确值,因此它的误差会传播下去。不是准确值,因此它的误差会传播下去。(3)实际计算时,每一步都可能产生舍入误差。)实际计算时,每一步都可能产生舍入误差。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4.欧拉公式的截断误差是欧拉公式的截断误差是O(h2),公式是公式是1 阶阶的。的。因为因为(泰勒公式)(泰勒公式)两式相减,由设两式相减,由设 yi=y(xi),有,有 认识到了贫困户贫困的根本原因,才能开始对症下药,然
8、后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目6.1.2 6.1.2 改进的欧拉法及预测改进的欧拉法及预测-校正公式校正公式对微分方程对微分方程y=f(x,y)两边求两边求xi到到xi+1的定积分,有的定积分,有利用梯形公式计算积分,有利用梯形公式计算积分,有 将将y(xi)、y(xi+1)分别用分别用yi、yi+1代替,构造相应的数值公式:代替,构造相应的数值公式:(改进的欧拉公式改进的欧拉公式)1.公式的构造公式的构造认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目2.截断误差截断误差假设假设 yi
9、=y(xi),解函数在解函数在x=xi处的处的泰勒公式泰勒公式为为在改进的欧拉公式中,在改进的欧拉公式中,设设则有则有求出在求出在h=0处的泰勒公式,整理后得处的泰勒公式,整理后得 上式上式h和和h2项的乘数应为零,于是项的乘数应为零,于是 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目因而因而改进的欧拉法是二阶的改进的欧拉法是二阶的。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目3 3 改进的欧拉法的具体使用格式。改进的欧拉法的具体使用格式。改进的欧
10、拉法是隐式公式改进的欧拉法是隐式公式,计算时常用迭代法。一般每一计算时常用迭代法。一般每一步先由欧拉公式计算出步先由欧拉公式计算出yi+1的初始值的初始值yi+1(0),再迭代计算再迭代计算yi+1。当满足当满足 时,取时,取 可证明当可证明当f(x,y)满足一定条件时,迭代是收敛的。满足一定条件时,迭代是收敛的。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目改进的欧拉法的预测校正公式改进的欧拉法的预测校正公式 可证明预测校正公式的截断误差也为可证明预测校正公式的截断误差也为 O(h3)。认识到了贫困户贫困的根本原因,才能
11、开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例例 取步长取步长h=0.2,用改进的欧拉法的预测校正公式用改进的欧拉法的预测校正公式求解初值问题求解初值问题 的数值解的数值解y1,y2.解解 预测预测-校正公式具体是校正公式具体是 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目6.2 6.2 龙格龙格-库塔法库塔法6.2.1 6.2.1 二阶龙格二阶龙格-库塔(库塔(R
12、unge-Kutta)Runge-Kutta)公式公式6.2.2 6.2.2 四阶龙格四阶龙格-库塔公式库塔公式引言引言与其他算法的实例比较与其他算法的实例比较认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目 思想:从泰勒公式出发,寻找更高阶的数值公式。思想:从泰勒公式出发,寻找更高阶的数值公式。例如,泰勒公式计算到二阶可得例如,泰勒公式计算到二阶可得 令令 则则,略去余项,得出一个二阶的,略去余项,得出一个二阶的 理论上按此方式可以得到更高阶的公式。但需要理论上按此方式可以得到更高阶的公式。但需要计算复合函数的高阶导数,使
13、算法复杂而不实用。计算复合函数的高阶导数,使算法复杂而不实用。因因数值公式为数值公式为认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目 龙格和库塔的思想(间接地运用泰勒公式):龙格和库塔的思想(间接地运用泰勒公式):利用利用y(x)在若干个点上的函数值和导数值,作出在若干个点上的函数值和导数值,作出一个适当的线性组合,使这个线性组合按一个适当的线性组合,使这个线性组合按h展开展开后的泰勒公式与后的泰勒公式与y(x+h)的泰勒公式有较多的项的泰勒公式有较多的项达到一致,从而得出较高阶的数值公式。达到一致,从而得出较高阶的数值公
14、式。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目6.2.1 6.2.1 二阶龙格二阶龙格-库塔(库塔(Runge-Kutta)Runge-Kutta)公式公式设想一个有二阶精度的数值公式形状为设想一个有二阶精度的数值公式形状为 a,b为待定系数。为待定系数。在在h=0处求泰勒公式得处求泰勒公式得 仍令仍令x=xn,则,则x+h=xn+1。如果能找出。如果能找出a,b,使得使得 那么略去余项就可得到上面所希望的近似计算公式了。那么略去余项就可得到上面所希望的近似计算公式了。因此考虑因此考虑 由于由于认识到了贫困户贫困的根本
15、原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目由由T(h)的泰勒公式的泰勒公式为使为使T(h)=O(h3),令令 解出解出,得,得 整理得整理得认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目利用利用可以推出可以推出 取取x=xn并略去并略去O(h3)便得到便得到二阶龙格库塔公式二阶龙格库塔公式 或或认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目6.2.2 6.2.2 四阶龙格四阶龙格-库塔公式库塔公式仿照
16、上述的仿照上述的讨论讨论,可,可导导出出四阶龙格库塔公式四阶龙格库塔公式:认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例例 取步长取步长h=0.2,用四阶龙格库塔公式求下面初,用四阶龙格库塔公式求下面初值问题的数值解。值问题的数值解。解解 由公式得由公式得 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目数值解数值解yi与准确解与准确解y(xi)的对照见表的对照见表 准确解是准确解是00.20.40.60.81.011.183231.341671.48
17、3281.612511.7321411.183221.341641.483241.612451.73205xiyiy(xi)认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目6.3 6.3 线性多步法线性多步法6.3.1 6.3.1 四阶阿达姆斯四阶阿达姆斯(Adams)(Adams)外插公式外插公式6.3.2 6.3.2 四阶阿达姆斯四阶阿达姆斯(Adams)(Adams)内插公式内插公式多步法的概念多步法的
18、概念6.3.3 6.3.3 初始出发值的计算初始出发值的计算6.3.4 6.3.4 阿达姆斯预测阿达姆斯预测-校正公式校正公式与其他算法的实例比较与其他算法的实例比较认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目单步法单步法-计算计算yn+1时只使用时只使用yn的值。的值。多步法多步法-计算计算yn+1时使用前面的时使用前面的k个个yi值,即由值,即由yn-k+1,yn-k+2,yn-1,yn计算计算yn+1。(k=1,2,)线性多步法线性多步法-计算计算yn+1的公式由的公式由yn-k+1,yn-k+2,yn-1,yn的
19、线性组合表达。的线性组合表达。多步法的概念多步法的概念认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目6.3.1 6.3.1 四阶阿达姆斯四阶阿达姆斯(Adams)(Adams)外插公式外插公式设想用设想用yn-3,yn-2,yn-1,yn的值计算的值计算yn+1。为方便,讨论由。为方便,讨论由 出发计算出发计算y(x+h),由初值问题的方程由初值问题的方程y=f(x,y(x)两边从两边从x到到x+h积分积分,可得到等价的积分方程可得到等价的积分方程设想运用数值积分方法,取设想运用数值积分方法,取x-3h,x-2h,x-h,
20、x为插值基点为插值基点做做f(s,y(s)的三次拉格朗日插值,用它近似计算上式的积分的三次拉格朗日插值,用它近似计算上式的积分。这样得到的数值积分公式是这样得到的数值积分公式是f(s,y(s)在在4个插值基点处的函数值个插值基点处的函数值的线性组合。的线性组合。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目由于由于f(x-ih,y(x-ih)=y(x-ih),所得到的计算,所得到的计算y(x+h)的近似公式形为:的近似公式形为:为达到四阶精度,希望确定为达到四阶精度,希望确定参数参数b0,b1,b2,b3使满足使满足运用在
21、运用在 h=0处的泰勒公式得处的泰勒公式得 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目求得求得代入前面的公式得代入前面的公式得令令x=xn并记并记 为使误差等于为使误差等于O(h5),令令h,h2,h3,h4的系数为的系数为0,得方程组:得方程组:认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目略去余项,得到略去余项,得到四阶阿达姆斯外插公式四阶阿达姆斯外插公式:这是显式公式。公式的截断误差为这是显式公式。公式的截断误差为O(h5)。认识到了贫困户贫
22、困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目把四阶阿达姆斯外插公式中使用的把四阶阿达姆斯外插公式中使用的yn-3,yn-2,yn-1,yn改为改为 yn-2,yn-1,yn,yn+1,经类似的推导可得近似公式:经类似的推导可得近似公式:6.3.2 6.3.2 四阶阿达姆斯四阶阿达姆斯(Adams)(Adams)内插公式内插公式确定待定系数的方程组为确定待定系数的方程组为认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目解得解得得到得到四阶阿达姆斯内插公式四阶阿达姆斯内插
23、公式 这是一个隐式公式,截断误差也是这是一个隐式公式,截断误差也是O(h5)。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目6.3.3 6.3.3 初始出发值的计算初始出发值的计算 阿达姆斯公式的特点是计算公式简单,只需简单的算阿达姆斯公式的特点是计算公式简单,只需简单的算术运算,计算量少,结果的精度较高。但需要术运算,计算量少,结果的精度较高。但需要4个初始个初始出发值。出发值。(1)使用单步法,例如龙格库塔法求出发值。)使用单步法,例如龙格库塔法求出发值。(2)使用)使用y(x)在在x=x0处的泰勒公式处的泰勒公式 其
24、中泰勒公式的阶数其中泰勒公式的阶数k按需要选取,各导数值由复合函按需要选取,各导数值由复合函数数 f(x,y(x)的求导得出。的求导得出。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目6.3.4 6.3.4 阿达姆斯预测阿达姆斯预测-校正公式校正公式 阿达姆斯内插公式是隐式公式,与改进的欧拉公式用法类似阿达姆斯内插公式是隐式公式,与改进的欧拉公式用法类似需要用迭代法计算需要用迭代法计算yn+1。为了减小迭代次数,可与阿达姆斯外插公式联合使用,构造为了减小迭代次数,可与阿达姆斯外插公式联合使用,构造只迭代只迭代 1 次的预测
25、次的预测-校正格式,即校正格式,即阿达姆斯预测-校正公式 公式仍有四阶精度。公式仍有四阶精度。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例例 6.4 用阿达姆斯预测用阿达姆斯预测-校正公式求初值问题校正公式求初值问题 的数值解。的数值解。解解 使用四阶龙格库塔公式求出发值使用四阶龙格库塔公式求出发值,计算得,计算得 再用阿达姆斯预测校正公式,再用阿达姆斯预测校正公式,认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目类似可计算类似可计算 计算结果如表:计算结果如表:0.40.50.60.70.80.91.00.07950.12350.17620.23690.30460.37790.4555xiyi认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目
限制150内