文档详情

2018年常微分方程的数值解法1.doc

发布:2018-12-31约1.42万字共16页下载文档
文本预览下载声明
常微分方程的数值解法   在自然科学的许多领域中,都会遇到常微分方程的求解问题。然而,我们知道,只有少   数十分简单的微分方程能够用初等方法求得它们的解,多数情形只能利用近似方法求解。在   常微分方程课中已经讲过的级数解法,逐步逼近法等就是近似解法。这些方法可以给出解的   近似表达式,通常称为近似解析方法。还有一类近似方法称为数值方法,它可以给出解在一   些离散点上的近似值。利用计算机解微分方程主要使用数值方法。   我们考虑一阶常微分方程初值问题   dy,,f(x,y) , dx,,,y(x)y,00   在区间[a, b]上的解,其中f (x, y)为x, y的已知函数,y为给定的初始值,将上述问题的精确0解记为y(x)。数值方法的基本思想是:在解的存在区间上取n + 1个节点   a,x,x,x,?,x,b012n   这里差,i = 0,1, ?, n称为由x到x的步长。这些h可以不相等,但一般取h,x,xii+1iii,1i   b,a成相等的,这时。在这些节点上采用离散化方法,(通常用数值积分、微分。泰勒h,n   展开等)将上述初值问题化成关于离散变量的相应问题。把这个相应问题的解y作为y(x)nn   的近似值。这样求得的y就是上述初值问题在节点x上的数值解。一般说来,不同的离散nn化导致不同的方法。     1     1.   1.对常微分方程初始问题   dy,,fx(y,) (9.1), dx,   ,() (9.2)yx,y00,     用数值方法求解时,我们总是认为(9.1)、(9.2)的解存在且唯一。   欧拉法是解初值问题的最简单的数值方法。从(9.2)式由于y (x) = y已给定,因而可00以算出   y(x),f(x,y) 000   设x = h充分小,则近似地有: 1   y(x),y(x)10 ,y(x),f(x,y) (9.3) 000h   y,y(x) i,0,1,?,nii   从而我们可以取 记   y,y,hf(x,y)1000   作为y (x)的近似值。利用y及f (x, y)又可以算出y(x)的近似值: 11112   y,y,hf(x,y)2111   一般地,在任意点x = (n + 1)h处y(x)的近似值由下式给出 n+1   (9.4) y,y,hf(x,y)n,1nnn   这就是欧拉法的计算公式,h称为步长。   不难看出,近似解的误差首先是由差商近似代替微商(见(9.3))引起的,这种近似代替所产生的误差称为截断误差。还有一种误差称为舍入误差,这种误差是由于利用(9.4)进   行计算时数值舍入引起的。   9.1 用欧拉法求初值问题     0.9,y,,y(9.5), 1,2x,   ,y(x),1x,0(9.6)00,   当h = 0.02时在区间[0, 0.10]上的数值解。   0.9 把代入欧拉法计算公式。就得 f(x,y),,y1,2x   0.9y,y,hyn,1nn1,2xn ,,0.018,,,1,yn,0,1,?,5n,,1,2xn,,   具体计算结果如下表:     n xyy(x) = y(x) - y,n n nnnn   0 0 1.0000 1.0000 0   1 0.02 0.9820 0.9825 0.0005   2 0.04 0.9650 0.9660 0.0005   3 0.06 0.9489 0.9503 0.0014   4 0.08 0.9336 0.9354 0.0018   5 0.10 0.9192 0.923 0.0021   在上表中y(x)列,乃是初值问题(9.5)、(9.6)的真解 n   ,0.45 y(x),(1,2x)   在x上的值。为近似值y的误差。从表中可以看出,随着n的增大,误差也在增大,所,nnn   以说,欧拉法计算简便,对一些问题有较大的使用价值,但是,它的误差较大,所得的数值   解精确度不高。   2   为了构造比较精确的数值方法,我们从另一角度重新分析一下初值问题。一般说来,一x (9.7) y(x),y,f(t,y(t))dt阶方程的初值问题与积分方程 0,x0   是等价的,当x = x时, 1   x1 (9.8) y(x),y,f(t,y(t))dt10,x0   要得到y(x)的值,就必须计算出(
显示全部
相似文档