资源描述:
《常微分方程初值问题的数值解法(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、常微分方程初值问题的数值解法第6章引言在实际问题中,常需要求解微分方程(如发电机运动方程)。只有简单的和典型的微分方程可以求出解析解,而在实际问题中的微分方程往往无法求出解析解。在高等数学中我们见过以下常微分方程:-----------(1)-----------(2)一阶常微分方程-----------(3)(1),(2)式称为初值问题,(3)式称为边值问题-----------(4)另外,在实际应用中还经常需要求解常微分方程组:本课程主要研究问题一阶常微分方程(1)的数值解法,我们首先介绍初值问题(1)的解存在的条件定理只要f(x,y)连续
2、,且关于y满足Lipschitz条件,即存在与x,y无关的常数L使对任意定义在[a,b]上的y1(x)和y2(x)都成立,则初值问题(1)存在唯一解。(通常采用等距节点)对于问题(1)要求它的数值解常微分方程数值解公式的推导求初值问题数值解的方法是步进法,即从已知的初值y0出发,通过一定的计算求y1,然后由y1或y0和y1求出y2,依次计算到yn,即在计算出yk后计算yk+1,这时有单步法:计算yk+1时,只利用yk多步法:计算yk+1时,用到yk,yk-1,yk-2,…常微分方程数值解公式的主要推导方法泰勒展开利用差商利用数值积分法1、泰勒展
3、开的求解思路:将按泰勒级数展开用的近似值代入上式右端,记所得结果为,则得到数值解序列的计算公式:2、化导数为差商的求解方法思路:若在点处的导数用差商来近似代替,如向前差商则微分方程初值问题化为将近似号改为等号,精确解改为近似解,得3、数值积分的求解思路:如果将微分方程在各小区间上对其两边进行积分,即如用矩形数值积分公式可得:以上三种方法推导出同一个数值求解公式:这个数值公式称为欧拉(Euler)公式。§6.1欧拉方法一、欧拉格式:x0x1向前差商近似导数记为欧拉公式几何意义用一条通过初始点的折线近似表示解曲线,亦称为欧拉折线法,或称为矩形法。一
4、般形式1、显式欧拉公式在假设yk=y(xk),即第k步计算是精确的前提下,考虑的截断误差Rk=y(xk+1)yk+1称为局部截断误差。定义若某算法的局部截断误差为O(hp+1),则称该算法有p阶精度。定义欧拉法的局部截断误差:欧拉法具有1阶精度。局部截断误差和阶数2、隐式欧拉格式向后差商近似导数x0x1))(,()(1101xyxfhyxy+)1,...,0(),(111-=+=+++nkyxfhyykiik由于未知数yk+1同时出现在等式的两边,不能直接得到,故称为隐式欧拉公式,而前者称为显式欧拉公式。一般先用显式计算一个初值,再迭代求
5、解。隐式欧拉法的局部截断误差:即隐式欧拉公式具有1阶精度。二、两步欧拉格式(中点公式)中心差商近似导数x0x2x1假设,则可以导出即两步欧拉格式具有2阶精度。该方法需要2个初值y0和y1来启动递推过程,这样的算法称为双步法。三、梯形公式—显、隐式两种算法的平均注:有局部截断误差,即梯形公式具有2阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,计算时不得不用到迭代法,不易求解。对欧拉法进行改进,用梯形公式计算右侧积分,即计算公式梯形格式算法计算步骤:先用(1)式计算出处。再用(2)式反复进行迭代,得到计算公式-----------(1)-
6、----------(2)类似地得到用控制迭代次数,为允许误差。把满足误差要求的作为的近似值。方法显式欧拉法隐式欧拉法梯形公式中点公式简单精度低稳定性最好精度低,计算量大精度提高计算量大精度提高,显式多一个初值,可能影响精度不同方法比较四、改进欧拉法(预报-校正法)Step1:先用显式欧拉公式作预报,算出),(1iiiiyxfhyy+=+Step2:再将代入隐式梯形公式的右边作校正,得到1+iy)],(),([2111+++++=iiiiiiyxfyxfhyy它可表示为嵌套形式表示为平均化形式此法称为预报-校正法,是显式算法。注:可以证明该
7、算法具有2阶精度,同时可以看到它是个单步递推格式(只迭代一次),比隐式梯形公式的迭代求解过程简单。它的稳定性高于显式欧拉法。脚标用i举例:xEuler法y改进的Euler法y精确解01.0000001.0000001.0000000.11.0000001.0959091.0954450.21.1918181.1840971.1832160.31.2774381.2662011.2649110.41.3582131.3433601.3416410.51.4351331.4164021.4142140.61.5089661.4859561.4832
8、400.71.5803381.5525141.5491930.81.6497831.6164751.6124520.91.7177791.678166