当前位置:文档之家› 偏微分方程数值解例题答案

偏微分方程数值解例题答案

二、改进的Euler 方法梯形方法的迭代公式(1.10)比Euler 方法精度高,但其计算较复杂,在应用公式(1.10)进行计算时,每迭代一次,都要重新计算函数),(y x f 的值,且还要判断何时可以终止或转下一步计算.为了控制计算量和简化计算法,通常只迭代一次就转入下一步计算.具体地说,我们先用Euler 公式求得一个初步的近似值1+n y ,称之为预测值,然后用公式(1.10)作一次迭代得1+n y ,即将1+n y 校正一次.这样建立的预测-校正方法称为改进的Euler 方法:预测: ),,(1n n n n y x hf y y +=+ 校正:)].,(),([2111+++++=n n n n n n y x f y x f hy y(1.15)这个计算公式也可以表示为11(,),(,),1().2p n n nc n n p n p cy y hf x y y y hf x y y y y ++⎧=+⎪⎪=+⎪⎨⎪=+⎪⎪⎩例1 取步长0.1h =,分别用Euler 方法及改进的Euler 方法求解初值问题d (1),01,d (0) 1.yy xy x xy ⎧=-+≤≤⎪⎨⎪=⎩ 解 这个初值问题的准确解为()1(21)xy x e x =--. 根据题设知).1(),(xy y y x f +-=(1) Euler 方法的计算式为)],1([1.01n n n n n y x y y y +⨯-=+由1)0(0==y y , 得,9.0)]101(1[1.011=⨯+⨯⨯-=y,8019.0)]9.01.01(9.0[1.09.02=⨯+⨯⨯-=y这样继续计算下去,其结果列于表9.1.(2) 改进的Euler 方法的计算式为110.1[(1)],0.1[(1)],1(),2p n n n n c n p n p n p c y y y x y y y y x y y y y ++⎧=-⨯+⎪=-⨯+⎪⎪⎨⎪=+⎪⎪⎩由1)0(0==y y ,得110.1[1(101)]0.9,10.1[0.9(10.10.9)]0.9019,1(0.90.9019)0.900952p c y y y ⎧=-⨯⨯+⨯=⎪⎪=-⨯⨯+⨯=⎨⎪⎪=+=⎩ 20.900950.1[0.90095(10.10.90095)]0.80274,0.900950.1[0.80274(10.20.80274)]0.80779,1(0.802740.80779)0.805262p c y y y ⎧=-⨯⨯+⨯=⎪⎪=-⨯⨯+⨯=⎨⎪⎪=+=⎩ 这样继续计算下去,其结果列于表9.1.从表9.1可以看出,Euler 方法的计算结果只有2位有效数字,而改进的Euler 方法确有3位有效数字,这表明改进的Euler 方法的精度比Euler 方法高.例2 试用Euler 方法、改进的Euler 方法及四阶经典R-K 方法在不同步长下计算初值问题⎪⎩⎪⎨⎧=≤≤+-=1)0(,10),1(d d y x xy y xy在0.2、0.4、0.8、1.0处的近似值,并比较它们的数值结果.解 对上述三种方法,每执行一步所需计算)1(),(xy y y x f +-=的次数分别为1、2、4。

为了公正起见,上述三种方法的步长之此应为4:2:1。

因此,在用Euler 方法、改进的Euler 方法及四阶经典R-K 方法计算0。

2、0。

4、0。

8、1。

0处的近似值时,它们的步长应分别取为0。

05、0。

1、0。

2,以使三种方法的计算量大致相等。

Euler 方法的计算格式为)].1([05.01n n n n n y x y y y +⨯-=+改进的Eluer 方法的计算格式为⎪⎪⎪⎩⎪⎪⎪⎨⎧+=+⨯-=+⨯-=++).(21)],1([1.0)],1([1.011c p n p n p n c n n n n p y y y y x y y y y x y y y 四阶经典R-K 方法的计算格式为⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧⨯+++⨯+-=⨯+++⨯+-=⨯+++⨯+-=+-=+++⨯+=+)]2.0)(2.0(1)[2.0()],22.0)(22.0(1)[22.0()],22.0)(22.0(1)[22.0(),1(),22(62.0334223112143211k y x k y k k y x k y k k y x k y k y x y k k k k k y y n n n n n n n n n n n n n n 初始值均为1)0(0==y y ,将计算结果列于表9.2.从表9.2可以看出,在计算量大致相等的情况下,Euler 方法计算的结果只有2位有效数字,改进的Euler 方法计算的结果有3位有效数字,而四阶经典R-K 方法计算的结果却有5位有效数字,这与理论分析是一致的。

例1和例2的计算结果说明,在解决实际问题时,选择恰当的算法是非常必要的。

需要指出的是Runge-Kutta 方法的基于Taylor 展开法,因而要求解具有足够的光滑性。

如果解的光滑性差,使用四阶Runge-Kutta 方法求得数值解的精度,可能不如改进的Euler 方法精度高。

因此,在实际计算时,要根据具体问题的特性,选择合适的算法。

一、应用向前欧拉法和改进欧拉法求由如下积分2xt y e dt-=⎰所确定的函数y 在点x =0.5,1.0,1.5的近似值。

解:该积分问题等价于常微分方程初值问题2'(0)0x y e y -⎧=⎪⎨=⎪⎩其中h=0.5。

其向前欧拉格式为2()100ih i i y y he y -+⎧=+⎪⎨=⎪⎩改进欧拉格式为22()2(1)10()20ih i h i i h y y ee y --++⎧=++⎪⎨⎪=⎩二、应用4阶4步阿达姆斯显格式求解初值问题'1(0)1y x y y =-+⎧⎨=⎩ 00.6x ≤≤ 取步长h=0.1.解:4步显式法必须有4个起步值,0y 已知,其他3个123,,y y y 用4阶龙格库塔方法求出。

本题的信息有:步长h=0.1;结点0.1(0,1,,6)i x ih i i === ;0(,)1,(0)1f x y x y y y =-+==经典的4阶龙格库塔公式为11234(22)6i i hy y k k k k +=++++1(,)1i i i i k f x y x y ==-+121(,)0.05 1.0522i i i i hk hk f x y x y k =++=--+232(,)0.05 1.0522i i i i hk hk f x y x y k =++=--+433(,)0.1 1.1i i i i k f x h y hk x y k =++=--+算得11.0048375y =,2 1.0187309y =,3 1.0408184y =4阶4步阿达姆斯显格式1123(5559379)24i i i i i i hy y f f f f +---=+-+-1231(18.5 5.9 3.70.90.24 3.24)24i i i i i y y y y y i ---=+-+++由此算出4561.0703231, 1.1065356, 1.1488186y y y ===三、用Euler 方法求()'1,0101x y e y x x y =-++≤≤=问步长h 应该如何选取,才能保证算法的稳定性? 解:本题(),1x f x y e y x =-++(),0,01x y f x y e x λ'==-<≤≤本题的绝对稳定域为111x h he λ+=-<得02xhe <<,故步长应满足 02,00.736he h <<<<求梯形方法111[(,)(,)]2k k k k k k hy y f x y f x y +++=++的绝对稳定域。

证明:将Euler 公式用于试验方程'y y λ=,得到11[]2k k k k hy y y y λλ++=++整理11(1)22k kh h y y λλ+⎛⎫-=+ ⎪⎝⎭设计算k y 时有舍入误差,0,1,2,kk ε= ,则有11(1)22k kh h λλεε+⎛⎫-=+ ⎪⎝⎭据稳定性定义,要想1k kεε+≤,只须1122h hλλ+≤-因此方法绝对稳定域为复平面h λ的整个左半平面(?),是A-稳定的。

五、对初值问题'(0)1y y y =-⎧⎨=⎩ 01x ≤≤证明:用梯形公式111[(,)(,)]2n n n n n n hy y f x y f x y +++=++求得的数值解为22nn h y h -⎛⎫= ⎪+⎝⎭并证明当步长0h →时,n y 收敛于该初值问题的精确解xny e -= 证明:由梯形公式,有1111[(,)(,)][]22n n n n n n n n n h hy y f x y f x y y y y ++++=++=+--整理,得122n nh y y h +-⎛⎫= ⎪+⎝⎭由此递推公式和初值条件,有02222n nn h h y y h h --⎛⎫⎛⎫== ⎪ ⎪++⎝⎭⎝⎭[0,1]x ∀∈,则有在区间[][]0,0,1x ⊆上有n x x nh ==,步长xh n =,由前面结果有2222022lim lim lim 1222lim 12x nhn n n h x h hhxh h h y h h h e h →∞→∞→-++--→-⎛⎫⎛⎫==- ⎪ ⎪++⎝⎭⎝⎭⎡⎤⎛⎫⎢⎥=-= ⎪⎢⎥+⎝⎭⎣⎦由x 的任意性,得所证。

六、对于微分方程'(,)y f x y =,已知在等距结点0123,,,x x x x 处的y 的值为0123,,,y y y y ,h 为步长。

试建立求4y 的线性多步显格式与与隐格式。

解:取积分区间24[,]x x ,对'(,)y f x y =两端积分:()()442242(,)x x x x y x y x dy f x y dx-==⎰⎰对右端(,)f x y 作123,,x x x 的二次插值并积分4242021*********(,)[()(,)()(,)()(,)]x x x x f x y dxl x f x y l x f x y l x f x y dx≈++⎰⎰112233123((,)(,)(,))337h f x y f x y f x y =-+得到线性4若对右端在34,x x 两点上作线性插值并积分,有424201331144(,)[()(,)()(,)]x x x x f x y dxl x f x y l x f x y dx≈+⎰⎰442(,)hf x y =由此产生隐格式()42442,y y hf x y =+七、证明线性多步法111(3)()2n n n y h f f αα+-+=++n n-1n-2(y -y )-y存在α的一个值,使方法是4阶的。

相关主题