1、数值分析思考题 91、 一个算法局部误差和整体误差的区别是什么?如何定义常微分方程数值方法的阶?称 为某方法在点 的整体截断误差,设 是准确()nneyxnxny的,用某种方法计算 时产生的截断误差,称为该方法的局部截断误差。可以知道,整体误差来自于前面误差积累,而局部误差只来自于 的误差。如果给定方法的局部截断误差为 ,其中ny 11()pnTOh为自然数,则称该方法是 阶的或具有 阶精度。ppp2、 显式方法和隐式方法的优缺点分别是什么?多步法中为什么还要使用单步法?显式方法优点:方法简单快速。缺点:精度低。隐式方法优点:稳定性好。缺点:精度低,计算量大。多步法需要多个初值来启动迭代,而初
2、值的计算需要用到单步法。3、 刚性问题的求解困难主要体现在哪儿?计算刚性问题的最简单的稳定方法是什么?了保证数值稳定性,步长 h 需要足够小,但是为了反映解的完整性,x 区间又需要足够长,计算速度变慢。最简单的稳定方法就是扩大绝对稳定域。4、分别用欧拉向前法、欧拉向后法、改 进的欧拉法、经典的四阶Runge-Kutta 法、四阶 Adams 方法计算下列微分方程初值问题的解。(1) ;3,12()0.4dyx(2) 满足 , 。 9,1yzz(1),yz2x解:(1)取步长为 0.1,向前 Euler 公式:31 01=(,)()nnnnyhfxyyx向后 Euler 公式:411110.(,
3、).nnnf改进的 Euler 公式:1 133321(,),(,)2.0.nn nnnhyfxyfyhfxy 经典的四阶 Runge-Kutta 法:112346()nhykk1,)nfxy212(,hkk32(,)nfxy43,khk四阶显示 Adams 方法:01 12355937924()(,)(,)(,)(,)nnnnnhyfxyfxyfxyfxy 011 1295(),(,)(,)(,)nnnnnffff X 向前 Euler 向后 Euler改进的Euler经典的四阶Runge-Kutta四阶显示Adams1.0 0.4000 0.4000 0.4000 0.4000 0.400
4、01.1 0.4600 0.4887 0.4756 0.4746 0.47461.2 0.5513 0.6106 0.5834 0.5814 0.58141.3 0.6781 0.7710 0.7281 0.7251 0.72511.4 0.8457 0.9757 0.9153 0.9112 0.91121.5 1.0597 1.2311 1.1511 1.1458 1.14581.6 1.3265 1.5442 1.4422 1.4357 1.43571.7 1.6532 1.9224 1.7957 1.7881 1.78811.8 2.0473 2.3737 2.2196 2.2106 2
5、.21061.9 2.5167 2.9067 2.7220 2.7117 2.71172.0 3.0702 3.5302 3.3117 3.3000 3.3000(2)二元微分方程组,经典的四阶 Runge-Kutta 法公式为:112346()nhykk11234()nzLL1,nkfxyz2112(,)nhhk322(,)nnhhkfxykzL433,1()nLgxyz2112,)nhhkL322(,)nnLgxyz433,hkhL改进的欧拉即为特殊的二阶龙格-库塔,公式在此不累述,注意系数。思路同上,四点 Adams 公式在此也不累述,注意前四项须由四阶龙格-库塔求得以启动迭代。编程求解
6、得改进的 Euler经典的四阶 Runge-Kutta四点阶 Adamsxy z y z y z1.0 1.0000 1.0000 1.0000 1.0000 1.0000 1.00001.1 0.9048 0.9048 0.9048 0.9048 0.9048 0.90481.2 0.8187 0.8187 0.8187 0.8187 0.8187 0.81871.3 0.7408 0.7408 0.7408 0.7408 0.7408 0.74081.4 0.6703 0.6703 0.6703 0.6703 0.6703 0.67031.5 0.6065 0.6065 0.6065 0.
7、6065 0.6065 0.60651.6 0.5488 0.5488 0.5488 0.5488 0.5488 0.54881.7 0.4966 0.4966 0.4966 0.4966 0.4966 0.49661.8 0.4493 0.4493 0.4493 0.4493 0.4493 0.44931.9 0.4066 0.4066 0.4066 0.4066 0.4066 0.40662.0 0.3679 0.3679 0.3679 0.3679 0.3679 0.3679取步长 h=0.1,则向前 Euler 公式:1=09(,).nnnyhfxyz-1zg向后 Euler 公式:
8、1092nyz1092nnzyz编程求解得向前 Euler 向后 Eulerxy z y z1.0 1.0000 1.0000 1.0000 1.00001.1 0.9000 0.9000 0.9091 0.90911.2 0.8100 0.8100 0.8264 0.82641.3 0.7290 0.7290 0.7513 0.75131.4 0.6561 0.6561 0.6830 0.68301.5 0.5905 0.5905 0.6209 0.62091.6 0.5314 0.5314 0.5645 0.56451.7 0.4783 0.4783 0.5132 0.51321.8 0.4305 0.4305 0.4665 0.46651.9 0.3874 0.3874 0.4241 0.42412.0 0.3487 0.3487 0.3855 0.3855