1、第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著第第6章章 常微分方程数值解法常微分方程数值解法 1 引言引言 2 欧拉法和改进的欧拉法欧拉法和改进的欧拉法3 龙格库塔法龙格库塔法4 阿达姆斯方法阿达姆斯方法5 二阶线性常微分方程边值问题的数值解二阶线性常微分方程边值问题的数值解第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著1 引引 言言 在工程和科学
2、技术的实际问题中,常需要解常微分方程。但常微分方程组中往往只有少数较简单和典型的常微分方程(例如线性常系数常微分方程等)可求出其解析解。对于变系数常微分方程的解析求解就比较困难,而一般的非线性常微分方程就更不用说了。在大多数情况下,常微分方程只能用近似法求解。这种近似解法可分为两大类:近似解法可分为两大类:一类是近似解析法近似解析法,如级数解法、逐次逼近法等;另一类则是数值解法数值解法,它给出方程在一些离散点上的近似解。在具体求解微分方程时,需要具备某种定解条件定解条件,微分方程和定解条件合在一起组成定解问题定解问题。定解条第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻
3、痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著件有两种:一种是给出积分曲线在初始点的状态,称为初始条件初始条件,相应的定解问题称为初值问题初值问题;另一种是给出积分曲线首尾两端的状态,称为边界条件边界条件,相应的定解问题则称为边值问题边值问题。例如,例如,弹簧-质量系统的振动问题(图图7-1),作一定的 简化后,可用一个二阶常微分方程来描述。式中,x是质量m离平衡位置(0点)的距离;t 是时间;c是弹簧常数。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以
4、在茎乳突孔和面神经管内的部分尤为显著 m x x oc图图7-1第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著当弹簧在振动开始时刻t=t0 时的初始位置x(t0)=x0和初速度 确定时,弹簧的振动规律x(t)也就唯一确定。这就是一个常微分方程的初值问题,可写成:第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 在常微分方程中,我们已经掌握了一些典型方程
5、的解法。但许多形式的方程只能用数值方法求近似解,也就是求在某些点上满足一定精度的近似解。现以求一阶常微分方程初值问题(61)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 在区间a,b上的解为例,介绍数值方法的基本思想。设f(x,y)在带形区域 R:axb,-y+上为x,y的连续函数,且对任意的y满足李普希茨(Libusize)条件 f(x,y1)-f(x,y2)Ly1-y2 (62)其中(x,y1)、(x,y2)R,L为正常数。在求初值问题(61)的数值解时,我们通常采
6、用离散化方法(数值微分、数值积分、泰勒展式等),求在自变量x的离散点 a=x0 x1x2xn=b 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著图 6.1第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 上的准确解y(x)的近似值 y0,y1,y2,yn 常取离散点x0,x1,x2,xn为等距,即 x i+1-xi=h,i=0,1,2,n-1 h称为步
7、长。图61表示为初值问题(61)在n+1个离散点上的准确解y(x)的近似值。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著2 欧拉法和改进的欧拉法欧拉法和改进的欧拉法 2.1 欧拉法(折线法)若将函数y(x)在点xi处的导数y(xi)用差商来表示,即第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 再用yi近似地代替y(xi),则初值问题(61)就化为
8、(63)式(63)就是所求的欧拉公式。欧拉公式有很明显的几何意义。我们知道初值问题(61)中的微分方程的解是xoy平面上的一簇积分曲线,这簇积分曲线上任意点(x,y)?的斜率为f(x,y),而初值问题(61)的解是过点(x0,y0)的一条特定的积分曲线。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 图 6.2 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分
9、尤为显著 例1 用欧拉法求初值问题的数值解(取h=0.1)。解 因为故由欧拉计算公式(63)得(64)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 表 61 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 图 6.3 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,
10、以在茎乳突孔和面神经管内的部分尤为显著 2.2 改进的欧拉法 欧拉法虽然形式简单,计算方便,但比较粗糙,精度也低。特别当y=y(x)?的曲线曲率较大时,欧拉法的效果更差。为了达到较高精度的计算公?式,对欧拉法进行改进,将在一点(xi,yi)的切线斜率f(xi?,yi)用两点的平均斜率来代替,即 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 代入(63)式得(65)这样得到的点列仍为一折线,只是用平均斜率来代替原来一点处的斜率。式(65)称为改进的欧拉公式。第第6 6章章
11、 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 不难发现,欧拉公式(63)是关于yi+1的显式?,只要已知yi,经一次计算可立即得到yi+1的值;而改进的欧?拉公式(65)中的yi+1以隐式给出,且yi+1含在函数f(xi+1,yi+1)中,因此?,通常用迭代法求解。具体做法是:先用欧拉公式(63)?求出一个y(0)i+1作为初始近似,然后再用改进的欧拉公式(65)进行迭代,即第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和
12、轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 直到满足(为预给精度)取 再转到下一步计算。这里必须特别说明,因为初值问题(61)满足李普 希茨条件第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 当h足够小时,可使得 于是有当k时,有qk0,故公式(66)收敛。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 2.3 预估校正法 改进的欧
13、拉公式在实际计算时要进行多次迭代,因而计算量较大。所谓预估校正法,就是先用(63)式算出yi+1的预估值y(p)i+1,然后再用(65)式进行一次迭代便得到校正值y(c)i+1,即(67)预估:校正:并取 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 虽然式(67)仅迭代一次,但因进行了预先估计,故精度却有较大的提高。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管
14、内的部分尤为显著 2.4误差估计 初值问题(61)的等价积分方程为(69)若对式(69)右端的积分采用各种不同的近似计算方法,就可以得到初值问题(61)的各种不同的数值解法。例 如积分采用左矩形公式第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 图 6.4 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 用yi、yi+1分别代替y(xi)、y(xi+
15、1)便得到欧拉公式(63)。若积分采用梯形公式 在进行误差分析时,我们假设yi=y(xi),考虑用yi+1代替y(x i+1)而产生慕囟衔蟛睿康氖俏伺卸吓拉公式和改进的欧拉公式的精确度。设初值问题(61)的准确解为y=y(x),则利用泰勒公式 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 1.欧拉公式的截断误差 由式(63)知(611)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在
16、茎乳突孔和面神经管内的部分尤为显著 比较式(610)和(611)得(612)2.改进的欧拉公式的截断误差 由式(65)知(613)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 对(69)式右端的积分采用梯形公式并根据梯形公式的误差可得到(614)其中(xi,xi+1),比较式(613)和(614)得(615)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤
17、为显著 因此 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 所以,改进的欧拉公式的截断误差为O(h3),也即改进的欧拉法为二阶的。可以验证,预估校正公式(67)与改进的欧拉公式的截断误差相同,均为O(h3)。这里略去证明。例 2求解初值问题 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 解 现分别用欧拉公式和改进的欧拉公式进行计算。这里欧拉公式的
18、具体形式为 其解析解为 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 表 62 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著3 龙格库塔法龙格库塔法 3.1 泰勒级数展开法 我们还是假设yi=y(xi),利用泰勒级数展开求y(xi+1)。式(610)就是y(xi+1)的泰勒展开式,若取右端前有限项作为y(xi+1)的近似值,就可得到计算y(xi+
19、1)的各种不同截断误差的数值公式。例 如,取前两项可得到第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 y(xi+1)y(xi)+hy(xi)=y(xi)+hf(xi,y(xi)=yi+hf(xi,yi)若取前三项,可得到截断误差为O(h3)的公式 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 这里 y(xi)=f(xi,y(xi)y(xi)=fx
20、(xi,y(xi)+fy(xi,y(xi)y(xi)=fx(xi,y(xi)+f(xi,y(xi)fy(xi,y(xi)类似地,若取前k项作为y(xi+1)的近似值,便得到截断误差为O(hk)的数值计算公式。这些公式的计算必须依赖于求y(xi)的k阶导数,除非f(x,y)足够简单,否则直接用泰勒展开法求解较为复杂。但是泰勒级数展开法的基本思想是许多数值方法的基础。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 3.2 龙格库塔法 前面已经知道,初值问题(61)等价于 龙格
21、库塔法的基本思想是:用f(x,y)在几个不同点的数值加权平均来代替f(xi+h,y(xi+h)的值,而使截断误差的阶尽可能高。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 1.二阶龙格库塔公式 将预估校正公式(68)改写成更一般的形式(616)适当选取%、1、2%的值,使截断误差y(x i+1)-y i+1的阶数尽可能高。这里仍假定yi=y(xi),显然 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有
22、不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 2.四阶龙格库塔公式 二阶龙格库塔公式是由使用在两个不同点上的函数值的线性组合而得到的。同样,我们用四个不同点上的函数值的线性组合就可得到四阶龙格库塔公式。设 yi+1=yi+h(1k1+2k2+3k3+4k4)(620)这里k1、k2、k3、k4为四个不同点上的函数值,分别设其为 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 k1=f(xi,yi)k2=f(xi+1h,yi+11k1h)k3=f(xi+2h,yi
23、+21k1h+22k2h)k4=f(xi+3h,yi+31k1h+32k2h+33k3h)其中1、2、3、4、1、2、3、11、21、22、31、32、33均为待定系数。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 类似于前面的讨论,把k2、k3、k4分别在xi点展成h的幂级数,代入线性组合式(620)中,将得到的公式与y(xi+1)在xi点上的泰勒展开式比较,使其两式右端直到h4的系数相等,经过较复杂的运算便可得到关于i,i,ij的一组特解 1=2=11=22=1/2
24、 21=31=32=0 3=33=1 1=4=1/6 2=3=1/3 (622)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 从而得到常用的标准四阶龙格库塔公式:(623)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著图 6.5 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同
25、程度的变性,以在茎乳突孔和面神经管内的部分尤为显著表 63第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著4 阿达姆斯方法阿达姆斯方法 我们已经知道,初值问题(61)等价于积分方程(69),即第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 对积分式分别采用矩形公式和梯形公式可得到欧拉公式和改进的欧拉公式,截断误差分别为O(h2)和O(h3)。为此,我们
26、自然可以想到,若用更高次的插值多项式来代替f(x,y),则所得公式的精度会更高。这就是线性多步法的起源思想。本章前面介绍的方法称为单步法,因为在计算yi+1时,只用到前面yi的值。而对于线性多步法是要利用前面已经算出的若干个值yi-k,yi-1,yi来求yi+1。现用k次多项式Pk(x)来代替f(x,y(x)(624)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 舍去余项 并设yi=y(xi),而yi+1为y(xi+1)的近似值,于是可得到线性多步法的计算公式第第6 6
27、章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 4.1 阿达姆斯(Adams)显式 取q+1个基点xi,xi-1,xi-q,并作牛顿后差插值多项式见式(438),则其中将式(627)代入式(626)得(628)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 这里(629)式(628)称为阿达姆斯显式。对于余项 第第6 6章章 常微分方程数值解法常微分方程数值解
28、法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 亦即 显然当q=3时(630)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 m是多项式积分,易算出结果如下:m01234m11/25/123/8251/270例如 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 为了易于在电子计
29、算机上实现,常将式(628)中的 用各点的已知函数值表示。特别,当q=2时,有当q=3时,有(631)(632)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 4.2 阿达姆斯隐式 类似于4.1,取q+1个基点xi+1,xi,xi-q+1,并作牛顿后差插值多项式,则(633)其中 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 将式(633)代入式(
30、626)得(634)其中(635)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 式(634)称为阿达姆斯隐式。类似于阿达姆斯显式余项的求法,可得到阿达姆斯隐式的余项为(636)例当q=3时 m的计算结果如下:m01234m1-1/2-1/12-1/24-19/720第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 若将式(634)中各阶差分mfi+1
31、用各点的已知函数值表示,则可得到便于在电子计算机上实现的数值公式。例如,当q=2时(637)(638)当q=3时 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 4.3 阿达姆斯预估校正公式 我们常把阿达姆斯显式及隐式联立使用,即构造所谓阿达姆斯预估校正公式。现以q=2为例构造预估校正公式(639)并取 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著
32、 与同阶的龙格库塔方法相比较,阿达姆斯方法计算量小,公式简单,程序易于实现。但它的主要缺点是不能自动开始,开始的前几个值要依赖于其它方法获得。这里介绍两种计算开始值的方法。(1)用单步法中的数值方法求出开始值。(2)使用y(x)的泰勒展开式 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 例4 用阿达姆斯方法求初值问题(640)的数值解。解 首先用泰勒展式求其三个点的值,因为 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神
33、经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 表 64 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 设常微分方程组的初值问题为(641)这里 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 初值问题(641)与(61)式形式上完全相似。因此,对于(61)适用的数值计算公式,只要将其中的y0,y,f,都改写成相应的向量
34、形式 s,y,f,就能写出求解(641)的数值公式。例如,初值问题(641)的标准四阶龙格库塔公式为第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著5二阶线性常微分方程边值问题的数值解二阶线性常微分方程边值问题的数值解 设二阶线性常微分方程的边值问题为 y+p(x)y+q(x)y=f(x)y(a)=,y(b)=,axb (642)其中p(x),q(x),f(x)为区间崐a,b上足够光滑的已知函数,且q(x)0,、为已知常数。第第6 6章章 常微分方程数值解法常微分方程数值解
35、法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 在上述条件下,边值问题(642)式存在连续可微的解,且是唯一的。若采用差分方法来解边值问题,其基本步骤是:(1)将区间a,b“离散化”,即给a,b一个分划,此分划常考虑等距;(2)对每一个基点,将各阶导数用差商来近似表示,将微分方程转化为差分方程,进而转化为线性代数方程组;(3)解线性代数方程组,求得各基点上的近似解。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的
36、部分尤为显著 现具体给出求解边值问题(642)的方法步骤。首先将区间a,b进行等距分划,即令 xi=a+ih,i=0,1,2,n 其中一般称 为边界点,称x1,x2,xn-1为内 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 其次,在各基点xi上,将y,y用差商来近似表示。这里要求有相同阶数的截断误差,以保证精度协调。我们知道,由(463)式可得到(643)又对式(458)再求一次导数,注意到有 第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的
37、病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 令t=1,可得到 取上式右边第一项作为pn(x1)的近似有 由差分与导数的关系可得余项为第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 所以,有(644)略去(643)和(644)式的截断误差O(h2),并用yi代替y(xi)可有(645)(646)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变
38、性,以在茎乳突孔和面神经管内的部分尤为显著 将(645)、(646)代入(642)得到近似差分方程为(647)其中 pi=p(xi),qi=q(xi),fi=f(xi)将式(447)整理后,得第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 其中(649)第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 这个方程组的系数矩阵是三对角的,可以利用追赶法求解
39、。根据(645)、(646)式知,对于y(xi)-yi的误差方程只要把fi取成O(h2)即可。现剩下两个问题:其一是线性方程组(648)即差分方程(647)解的存在唯一性;其二是(648)的解的收敛性,也即当h0时,解是否收敛于微分方程(642)的准确解。下面对差分方程(647)给出结论,不加以证明。第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著 定理若ai0,ci0,-biai+ci,i=1,2,n-1,则二阶差分方程 aiyi-1+biyi+ciyi+1=di y0=,yn=,i=1,2,n-1 例5 用差分法解边值问题 y-y=x y(0)=0,y(1)=1,0 x1,h=01解 这里步长h=1/10,则基点第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著第第6 6章章 常微分方程数值解法常微分方程数值解法 计算方法面神经麻痹的病理变化早期主要为面神经水肿,髓鞘和轴突有不同程度的变性,以在茎乳突孔和面神经管内的部分尤为显著