《常微分方程初值问题的解法.ppt》由会员分享,可在线阅读,更多相关《常微分方程初值问题的解法.ppt(44页珍藏版)》请在三一办公上搜索。
1、计 算 方 法,华中科技大学数学与统计学院,第六章 常微分方程初值 问题的数值解法,计算方法课程组,6.1 基本离散方法,6.2 Runge-Kutta方法,6.3 线性多步法,6.4 收敛性与稳定性,6 常微分方程数值解法,考虑一阶常微分方程的初值问题:,例如:,其解析解为:,6.1 基本离散方法,但是,只有一些特殊类型的微分方程问题能够得到用解析表达式表示的函数解,而大量的微分方程问题很难得到其解析解。因此,只能依赖于数值方法去获得微分方程的数值解。,例如:,其解析解为:,很难得到其解析解,例如:,其解析解为,只有一些特殊类型的微分方程问题能够得到用解析表达式表示的函数解,而大量的微分方程
2、问题很难得到其解析解。因此,只能依赖于数值方法去获得微分方程的数值解。,要计算出解函数 y(x)在一系列节点 a=x0 x1 xn=b 处的近似值,通常取节点间距 为步长,通常采用等距节点,即取 hi=h(常数)。它适合计算机求解,应用广泛,具有应用价值。,Taylor级数复习,函数 在 点作Taylor级数展开:,这里 x,x0 都可以是任意一点。,Taylor级数复习,则:,6.1.2 Euler公式,利用等距分割,数值微分来代替导数项,建立差分格式。,1、向前差商公式,所以,可以构造差分方程,称为局部截断误差。显然,这个误差在逐步计算过程中会传播,积累。因此还要估计这种积累,定义:在假设
3、 yi=y(xi),即第 i 步计算是精确的前提下,考虑的截断误差 Ri=y(xi+1)yi+1 称为局部截断误差。,定义:若某算法的局部截断误差为O(hp+1),则称该算法有p 阶精度。,收敛性:,考察局部误差的传播和积累,2、向后差商公式,是隐格式,要迭代求解,可以由向前差商公式求出,3、中心差商公式,是多步,2阶格式,该格式不稳定,对微分方程,积分有:,类似,可以算出其误差估计式:,2阶的方法,所以,有,是个隐式的方法,要用迭代法求解,局部截断误差,4、梯形公式,5、欧拉公式的改进:,隐式欧拉法,由于未知数 yi+1 同时出现在等式的两边,不能直接得到,故称为隐式 欧拉公式,而前者称为显
4、式 欧拉公式。,中点欧拉公式(欧拉二步法),假设,则可以导出即中点公式具有 2 阶精度。,需要2个初值 y0和 y1来启动递推过程,这样的算法称为双步法/*double-step method*/,而前面的三种算法都是单步法/*single-step method*/。,简单,精度低,稳定性最好,精度低,计算量大,精度提高,计算量大,精度提高,显式,多一个初值,可能影响精度,改进欧拉法,Step 1:先用显式欧拉公式作预测,算出,Step 2:再将 代入隐式梯形公式的右边作校正,得到,Euler方法、隐式Euler方法、梯形方法与单步法计算公式的,显式单步法,对应关系,隐式单步法,显式 Eul
5、er方法,隐式Euler方法,梯形方法(隐式),6.1.3 总结,算例:分别用Euler公式和改进的Euler公式求解:,取步长,计算y(0.5)的近似值,解:欧拉公式:,改进的Euler公式:,算例 分别用显式Euler方法,梯形方法和预估校正Euler方法 初值问题,解:,取 h=0.1,,(1)Euler方法为:,续,算例 分别用显式Euler方法,梯形方法和预估校正Euler方法解初值问题,解:,取 h=0.1,,梯形方法为:,续,算例 分别用显式Euler方法,梯形方法和预估校正Euler方法解初值问题,解:,取 h=0.1,,梯形方法为:,预估校正Euler方法:,续,数值例子表明
6、,梯形方法和预估校正Euler方法比显式Euler方法有更好的精度。,续,基本思想:根据微分中值定理有:,6.2 龙格-库塔方法,建立高精度的单步递推格式。,6.2 RungeKutta法,由Taylor展开,记为,所以,可以构造格式,这种格式使用到了各阶偏导数,使用不便。,从另一个角度看,,取(x,y)及其附近的点做线性组合,表示F,问题就好办了。当然,要求此时的展开精度相同。这种方法称为RungeKutta法,在(x,y)处展开有,而,以2阶为例,设,比较对应系数,有:,1、改进的Euler公式,2、Heun公式,一般的RungeKutta法构造,常见的为3阶,4阶公式,下列公式是三阶公式
7、中的一个典型例子:,下列公式是经典的四阶R-K方法(古典的R-K方法),算例:分别用Euler公式,改进的Euler公式,经典4阶R-K 公式计算一阶常微分方程初值问题。,并与准确解 比较。,解:Euler公式,改进的Euler公式取步长h=0.1,经典4阶R-K公式取步长h=0.2。,4阶R-K公式:,计算结果见下表:,6.3 线性多步法,思想:用若干节点处的 y 及 y 值的线性组合来近似y(xn+1)。,其通式可写为:,当 10 时,为隐式公式;1=0 则为显式公式。,Adams方法是线性多步法的一个代表,它是利用插值多项式进,行积分得出来的,这样构造线性多步法的方法称为数值求积法,,它
8、是构造线性多步法的一种途径,另外还有Taylor法。,构造线性多步法的途径:,1 数值积分法,显式Adams方法,隐式Adams方法,其它方法,Simpson方法(二步法),方程(1.1),由Simpson求积公式,得,用 近似,得Simpson方法,局部截断误差为,结论:Simpson方法是四阶隐式方法。,例,Milne法,用过点 的插值多项式近似,得 Milne方法,局部截断误差为,结论:Milne方法是四阶显式线性多步法。,例:设,确定式中待定系数0,1,2,0,1,2,3,使得公式具有4阶精度。,解:,/*y(xi)=yi*/,2 Taylor展开法,解:,个未知数个方程,7,5,令
9、1=2=0,以 yi+1 取代 yi1,并取 1=2=0,取 1=1,2=0得到辛甫生公式,辛甫生 公式,例:设,确定式中待定系数0,1,2,0,1,2,3,使得公式具有4阶精度。,例:确定下列公式:,中的待定系数,使公式具有3阶精度。,由于:,只需:,具有3阶精度,但可以进一步验证公式具有4阶精度,例:确定下列公式:,中的待定系数,使公式具有3阶精度。,6.4 收敛性与稳定性,收敛性,例:就初值问题 考察欧拉显式格式的收敛性。,解:该问题的精确解为,欧拉公式为,对任意固定的 x=xi=i h,有,稳定性,例:考察初值问题 在区间0,0.5上的解。分别用欧拉显、隐式格式和改进的欧拉格式计算数值
10、解。,1.00002.5000101 6.25001021.56251023.90631039.7656104,1.00002.50006.25001.56261013.90631019.7656101,1.00004.97871022.47881031.23411046.14421063.0590107,1.00002.0000 4.00008.0000 1.6000101 3.2000101,一般分析时为简单起见,只考虑试验方程,常数,可以是复数,例:考察隐式欧拉法,可见绝对稳定区域为:,注:一般来说,隐式欧拉法的绝对稳定性比同阶的显式法的好。,例:求解,以下用四阶Adams方法来进行求解。,(1)求,(2)求,只要补算,(3)求,只要补算,现列表看用Adams方法求出的误差,精解为,