当前位置:文档之家› 初值问题的数值解法

初值问题的数值解法

第六章 常微分方程初值问题的数值解法_习题课1 .欧拉法的局部截断误差的阶为 。

改进欧拉法的局部截断误差的阶为 。

三阶龙格-库塔法的局部截断误差的阶为 。

四阶龙格-库塔法的局部截断误差的阶为 。

2. 欧拉法的绝对稳定实区域为 。

二阶龙格-库塔法的绝对稳定实区域为 。

三阶龙格-库塔法的绝对稳定实区域为 。

四阶龙格-库塔法的绝对稳定实区域为 。

3.求解初值问题欧拉法的局部截断误差是( );⎩⎨⎧=='00y x y y x f y )(),(改进欧拉法的局部截断误差是( );四阶龙格-库塔法的局部截断误差是( ). (A)O (h 2) (B)O (h 3) (C)O (h 4) (D)O (h 5)4. 改进欧拉法的平均形式公式是( ).(A)⎪⎪⎪⎩⎪⎪⎪⎨⎧+21=+=+=1+)(),(),(c p k p k k c k k k p y y y y x hf y y y x hf y y (B)⎪⎪⎪⎩⎪⎪⎪⎨⎧+21=+=+=1+1+1+)(),(),(c p k p k k c k k k p y y y y x hf y y y x hf y y(C)⎪⎪⎪⎩⎪⎪⎪⎨⎧+2=+=+=1+1+)(),(),(c p k p k k c k k k p y y h y y x hf y y y x hf y y (D)⎪⎪⎪⎩⎪⎪⎪⎨⎧+21=+=+=1+1+)(),(),(c p k p k k c k k k p y y y y x hf y y y x hf y y 答案:(D)5. 解微分方程初值问题的方法,( )的局部截断误差为O (h 3). (A) 欧拉法 (B)改进欧拉法 (C)三阶龙格-库塔法 (D) 四阶龙格-库塔法 答案:(B)解答:改进欧拉法的局部截断误差是二阶精度,O(h3)。

6. 对Euler 公式推导局部截断误差及其主项,并指出该方法是几阶方法。

解:其局部截断为))(,()()(11n n n n n x y x hf x y x y T --=++ 对在处作Talor 展开,有)(1+n x y n x )()(2)()()(321h O x y h x y h x y x y n n n n +''+'+=+而且,因此其局部截断为 ))(,()(n n n x y x f x y =' ))(,()()(11n n n n n x y x hf x y x y T --=++)()(2)()(32h O x y h x y h x y n n n +''+'+=)()(n n x y h x y '--)()(232h O x y h n +''=)(2h O =所以,显式Euler 方法是1阶方法,其截断误差的主项是)(22n x y h ''。

7.对隐式Euler 公式推导局部截断误差及其主项,并指出该方法是几阶方法。

解:其局部截断为))(,()()(1111++++--=n n n n n x y x hf x y x y T 对在处作Talor 展开,有)(1+n x y n x )()(2)()()(321h O x y h x y h x y x y n n n n +''+'+=+而且,也在处作Talor 展开,有 ))(,()(111+++='n n n x y x f x y n x )()()()(21h O x y h x y x y n n n +''+'='+所以,因此其局部截断为))(,()()(1111++++--=n n n n n x y x hf x y x y T)()(2)()(32h O x y h x y h x y n n n +''+'+=)()()()(32h O x y h x y h x y n n n +''-'-- )()(232h O x y h n +''-=)(2h O =所以,隐式Euler 方法也是1阶方法,其截断误差的主项是)(22n x y h ''-。

8.对梯形公式推导局部截断误差及其主项,并指出该方法是几阶方法. 解:其局部截断为))](,())(,([2)()(1111+++++--=n n n n n n n x y x f x y x f hx y x y T对在处作Talor 展开,有)(1+n x y n x )()(6)(2)()()(4321h O x y h x y h x y h x y x y n n n n n +'''+''+'+=+而且,))(,()(n n n x y x f x y ='))(,()(111+++='n n n x y x f x y ,对)(1+'n x y 也在处作Talor 展开,有n x )()(2)()()(321h O x y h x y h x y x y n n n n +'''+''+'='+所以,因此其局部截断为))](,())(,([2)()(1111+++++--=n n n n n n n x y x f x y x f hx y x y T)()(6)(2)()(432h O x y h x y h x y h x y n n n n +'''+''+'+=)()(12)(2)(2)(2)(432h O x y h x y h x y h x y h x y n n n n n +'''-''-'-'--)()(1243h O x y h n +'''-=)(3h O =所以,梯形公式是2阶方法,其截断误差的主项是)(123n x y h '''-=。

9.用欧拉法解初值问题,取步长h =0.2.计算过程保留4位小数.⎩⎨⎧1=060≤≤0--='2)().(y x xy y y 解: h =0.2, f (x )=-y -xy 2.首先建立欧拉迭代公式)2,1,0)(4(2.0),(21=-=--=+=+k y x y y hx hy y y x hf y y k k k kk k k k k k k 当k =0,x 1=0.2时,已知x 0=0,y 0=1,有y (0.2)≈y 1=0.2×1(4-0×1)=0.800 0当k =1,x 2=0.4时,已知x 1=0.2, y 1=0.8,有 y (0.4)≈y 2=0.2×0.8×(4-0.2×0.8)=0.614 4 当k =2,x 3=0.6时,已知x 2=0.4,y 2=0.614 4,有 y (0.6)≈y 3=0.2×0.614 4×(4-0.4×0.4613)=0.800 010.用欧拉预报-校正公式求解初值问题,取步长h =0.2,计算y (0.2),y (0.4)的近似值,计算过程保留5位小数.l ⎩⎨⎧1=10=++'2)(sin y x y y y 解 步长h =0.2, 此时f (x ,y )=-y -y 2sin x . 欧拉预报-校正公式为:⎪⎩⎪⎨⎧++=+=++++)],(),([2),(1111k k k k k k k k k k y x f y x f hy y y x hf y y 校正值预报值 有迭代公式:⎪⎪⎪⎩⎪⎪⎪⎨⎧+--=--+--+=-=--+=++++++++)sin (1.0)sin 1.09.0()]sin ()sin [(2)sin 2.08.0()sin (121112112121k k k k k k k k k k k k k k k k k k k k k k x y y x y y x y y x y y h y y x y y x y y h y y 校正值预报值当k =0,x 0=1, y 0=1时,x 1=1.2,有631710=11⨯02-80⨯1=20-80=0001.)sin .()sin ..(x y y y715490=21631710+63171010-1⨯1⨯10-90⨯1=≈2121.).sin ..(.)sin ..().(y y 当k =1,x 1=1.2, y 1=0.71549时,x 2=1.4,有476970=21715490⨯02-80⨯715490=20-80=1112.).sin ..(.)sin ..(x y y y).sin ..(.).sin ...(.).(41476970+47697010-21⨯715490⨯10-90⨯715490=≈4122y y =0.5260811.用改进的欧拉法平均公式,取步长h =0.1,求解初值问题⎩⎨⎧=≤≤+='1)0()2.00(y x y x y 计算过程保留4位小数. 解 首先建立迭代格式:⎪⎪⎪⎩⎪⎪⎪⎨⎧+++++=+=++++=+=++=+=++++k k k c p k kk k p k k c k k k k k p y h h hx x h h y y y x h hx h h y y x hf y y h y hx y x hf y y )21(])1([21][21)1(),()1(),(2112121 当k =0时,x 0=0,y 0=1,x 1=0.1,有11.11)21.01.01(]1.01.00)1.01(1.0[2121=⨯+++⨯+⨯+⨯=y当k =1时,x 1=0.1, y 1=1.11, x 2=0.2,有1242.111.121.01.01(]2.01.01.0)1.01(1.0[2122=⨯+++⨯+⨯+⨯=y12.(1)取步长h=0.2,用改进Euler 法求解常微分方程初值问题22,(0)y x y y '=++=0在x=0.6上的解。

(2)对改进Eluer 格式进行误差分析。

解:(1)改进Euler 公式⎪⎩⎪⎨⎧++=+=++++))~,(),((2),(~1111i i i i i i i i i i y x f y x f h y y y x hf y y 分别将x=0.2, 0.4,0.6,代入上式中计算即可!(2)改进欧拉格式11121[]2(,)(,i i i i i i h 2)y y k k k f x y k f x h y hk +⎧=++⎪⎪=⎨⎪=++⎪⎩2341()()()()()()()2!3!i i i i i i h h y x y x h y x hy x y x y x O h +''''''∴=+=++++1211222211(,)()(,)(,)(,)(,1[(,)2(,)(,)]()2!i i i i i i i x i i y i i xxi i xy i i yy i i k f x y y x k f x h y hk f x y hf x y hk f x y h f x y h k f x y h k f x y O h '==''=++=++''''''++++3)又1()(,)(,)()(,)(,)i x i i y i i i x i i y i i y x f x y f x y y x f x y f x y k '''''''=+=+代入11[2i i h 2]y y k k +=++,整理后 31()()(i i )y x y x O h +-=13. (1)取步长为0.1,试用欧拉公式求解常微分方程初值问题⎩⎨⎧=-+='1)0(1y y x y 在x =0.4处的近似值(计算过程保留3位小数);(2) 试用泰勒展式估计改进欧拉公式的局部截断误差。

相关主题