null常微分方程数值解
Numerical Methods for Ordinary Differential Equations 常微分方程数值解
Numerical Methods for Ordinary Differential Equations 欧拉
龙格—库塔法
常微分方程组null 考虑一阶常微分方程的初值问
(IVP) :首先我们要确定解的存在?数值解法数值解法null欧拉方法 /* Euler’s Method */nullnullnullnull欧拉方法 /* Euler’s Method */ 欧拉公式:亦称为欧拉折线法 null 欧拉法的局部截断误差:Ri 的主项null 欧拉公式的改进: 隐式欧拉法由于未知数 yi+1 同时出现在等式的两边,不能直接得到,故称为隐式 欧拉公式,而前者称为显式 欧拉公式。一般先用显式计算一个初值,再迭代求解。 隐式欧拉法的局部截断误差:即隐式欧拉公式具有 1 阶精度。null 梯形公式— 显、隐式两种算法的平均 中点欧拉公式 需要2个初值 y0和 y1来启动递推
过程,这样的算法称为双步法,
而前面的三种算法都是单步法 。null 改进欧拉法注:此法亦称为预测-校正法 。可以证明该算法具有 2 阶精度,同时可以看到它是个单步递推格式,比隐式公式的迭代求解过程简单。后面将看到,它的稳定性高于显式欧拉法。null 收敛性与稳定性 /* Convergency and Stability */ 收敛性 解:该问题的精确解为 欧拉公式为null 稳定性 1.0000
2.0000
4.0000
8.0000
1.6000101
3.2000101 1.0000
2.5000101
6.2500102
1.5625102
3.9063103
9.76561041.0000
2.5000
6.2500
1.5626101
3.9063101
9.76561011.0000
4.9787102
2.4788103
1.2341104
6.1442106
3.0590107null一般
时为简单起见,只考虑试验方程 常数,可以是复数null可见绝对稳定区域为:注:一般来说,隐式欧拉法的绝对稳定性比同阶的显式法的好。nullnull龙格 - 库塔法 /* Runge-Kutta Method */斜率
一定取K1 K2
的平均值吗?步长一定是一个h 吗?nullStep 1: 将 K2 在 ( xi , yi ) 点作 Taylor 展开nullStep 3: 将 yi+1 与 y( xi+1 ) 在 xi 点的泰勒展开作比较这里有 个未知数, 个方程。32存在无穷多个解。所有满足上式的格式统称为2阶龙格 - 库塔格式。Q: 为获得更高的精度,应该如何进一步推广?null其中i ( i = 1, …, m ),i ( i = 2, …, m ) 和 ij ( i = 2, …, m; j = 1, …, i1 ) 均为待定系数,确定这些系数的步骤与前面相似。 最常用为四级4阶经典龙格-库塔法 /* Classical Runge-Kutta Method */ :null 由于龙格-库塔法的导出基于泰勒展开,故精度主要受解
的光滑性影响。对于光滑性不太好的解,最好采用低阶算法而将步长h 取小。HW:
p.202 #1, 2null而显式 1~ 4 阶方法的绝对稳定区域为无条件稳定HW:
p.202 #6