数值分析常微分方程的数值解法

  • 格式:doc
  • 大小:182.00 KB
  • 文档页数:5

《计算机数学基础》数值部分第五单元辅导 14 常微分方程的数值解法 一、重点内容 1. 欧拉公式:

),...,,,(),()(nkkhxx

yxhfyyxy

kkkkkk

局部截断误差是O(h2)。 2. 改进欧拉公式: 预报-校正公式:





)],(),([2),(1111kkkkkkkkkkyxfyxfhyyyxhfyy校正值预报值

即 ))],(,(),([211kkkkkkkkyxhfyxfyxfhyy 或表成平均的形式:





)(),(),(cpkpkkckkkpyyyyxhfyyyxhfyy

改进欧拉法的局部截断误差是O(h3) 3. 龙格-库塔法 二阶龙格-库塔法的局部截断误差是O(h3) 三阶龙格-库塔法的局部截断误差是O(h4)

四阶龙格库塔法公式: )22(643211hyykk

其中 1=f(xk,yk);2=f(xn+12h,yk+h1);3=f(xk+12h,yn+h2);4=f(xk+h,yk+h3) 四阶龙格-库塔法的局部截断误差是O(h5)。

二、实例 例1 用欧拉法解初值问题)().(yxxyyy,取步长h=0.2。计算过程保留4位小数。 解h=0.2, f(x)=-y-xy2。首先建立欧拉迭代格式

),,)((.),(kyxyyhxhyyyxhfyy

kkkkkkkkkkk

当k=0,x1=0.2时,已知x0=0,y0=1,有 y(0.2)y1=0.2×1(4-0×1)=0.8000 当k=1,x2=0.4时,已知x1=0.2, y1=0.8,有 y(0.4)y2=0.2×0.8×(4-0.2×0.8)=0.614 4 当k=2,x3=0.6时,已知x2=0.4,y2=0.6144,有 y(0.6)y3=0.2×0.6144×(4-0.4×0.4613)=0.8000

例2 用欧拉预报-校正公式求解初值问题)(sinyxyyy,取步长h=0.2,计算 y(0.2),y(0.4)的近似值,计算过程保留5位小数。 解 步长h=0.2, 此时f(x,y)=-y-y2sinx 欧拉预报-校正公式为:





)],(),([2),(1111kkkkkkkkkkyxfyxfhyyyxhfyy校正值预报值

有迭代格式:





)sin(1.0)sin1.09.0()]sin()sin[(2)sin2.08.0()sin(121112112121kkkkkkkkkkkkkkkkkkkkkkxyyxyyxyyxyyhyyxyyxyyhyy校正值预报值

当k=0,x0=1, y0=1时,x1=1.2,有 .)sin.()sin..(xyyy .).sin..(.)sin..().(yy 当k=1,x1=1.2, y1=0.71549时,x2=1.4,有

.).sin..(.)sin..(xyyy

).sin..(.).sin...(.).(yy =0.52608 例3 写出用四阶龙格-库塔法求解初值问题)(yyy的计算公式,取步长h=0.2计算y(0.4)的近似值。计算过程保留4位小数。 解 此处f(x,y)=8-3y, 四阶龙格-库塔法公式为

)22(643211hyykk

其中 1=f(xk,yk);2=f(xn+12h,yk+h1);3=f(xk+12h,yn+h2);4=f(xk+h,yk+h3) 本例计算公式为: )(.kkyy

其中 1=8-3 yk;2=5.6-2.1 yk;3=6.32-2.37yk; 4=4.208+1.578yk )1,...,2,1,0(5494.02016.1))578.1208.4()37.232.6(2)1.26.5(238(62.01nkyyyyyyykkkkkkk

当x0=0,y0==2, ......).(.....).(yyyyyy

例4 设初值问题)(,yyy,证明用梯形公式求解该问题的近似解为 nnhhy



证明 解初值问题的梯形公式为 )],(),([2111kkkkkkyxfyxfhyy(k=0,1,2,…,n-1)

yyxf),( ][211kkkkyyhyy 整理成显式 kkyhhy221( k=0,1,2,…,n-1) 用k=n,n-1,n-2,…,1,0反复代入上式,得到 012312122...222222yhhyhhyhhyhhynnnnn



nnhhyy

例5 选择填空题: 1. 取步长h=0.1, 用欧拉法求解初值问题)(yyxyy的计算公式是

答案:1,1,...,2,1,0],)1.01(1.01.1[021ynkkyykk 解答:欧拉法的公式 ),...,,,(),()(nkkhxx

yxhfyyxy

kkkkkk

此处yxyyxf),(,迭代公式为 ykkyykyyykkkkk,...,,,),).(..()).((. 2. 改进欧拉法的平均形式公式是( )

(A))(),(),(cpkpkkckkkpyyyyxhfyyyxhfyy (B))(),(),(cpkpkkckkkpyyyyxhfyyyxhfyy (C))(),(),(cpkpkkckkkpyyhyyxhfyyyxhfyy (D))(),(),(cpkpkkckkkpyyyyxhfyyyxhfyy 答案:(D) 解答:见改进欧拉法平均形式公式。 三、练习题

1.求解初值问题yxyyxfy)(),(欧拉法的局部截断误差是( ); 改进欧拉法的局部截断误差是( ); 四阶龙格-库塔法的局部截断误差是( ) (A)O(h2) (B)O(h3) (C)O(h4) (D)O(h5) 2. 改进欧拉预报-校正公式是





][hyyyykkkk校正值预报值

改进欧拉法平均形式公式为yp= , yc= ,yk+1= 试说明它们是同一个公式。 3. 设四阶龙格-库塔法公式为

)22(643211hyykk

其中 1=f(xk,yk);2=f(xn+12h,yk+h1);3=f(xk+12h,yn+h2);4=f(xk+h,yk+h3)

取步长h=0.3,用四阶龙格-库塔法求解初值问题)(yyy的计算公式是 。 4.取步长h=0.1, 用欧拉法求解初值问题)()(yxxyy

5. 试写出用欧拉预报-校正公式求解初值问题)(yyy的计算公式,并取步长h=0.1,求y(0.2)的近似值。要求迭代误差不超过10-5。 6. 对于初值问题)(yxyy试用(1)欧拉法;(2)欧拉预报-校正公式;(3)四阶龙格-库塔法分别计算y(0.2),y(0.4)的近似值。 7. 用平均形式改进欧拉法公式求解初值问题)(yxyy在x=0.2,0.4,0.6处的近似值。 8. 证明求解初值问题的梯形公式是 yk+1=yk+)],(),([211kkkkyxfyxfh, h=xk+1-xk (k=0,1,2,…,n-1), 四、练习题答案 1. (A), (B), (D)