编辑: ok2015 | 2019-07-15 |
4、数值稳定性 现在讨论舍入误差对计算结果产生的影响. 设用公式 近似计算积分 时, 其中计算函数值 有误差 则在 的计算中,由 引起的误差为 没有误差, 中间计算过程中的舍入误差也不考虑, 计算 ,而 如果 都是正数,并设 则有 故 是有界的, 即由 引起的误差受到控制, 的倍, 不超过 保证了数值计算的稳定性. 将出现负数, 而当 时, 将随 增大,因而不能保证数值稳定性. 故高阶公式不宜采用,有实用价值的仅仅是几种低阶的求积公式.
三、几种常用的低阶求积公式 n = 1: 梯形公式 /* 令x=a+th, h = b?a, 用中值定理 */ 代数精度 =
1 n = 2: Simpson 公式 代数精度 =
3 n = 4: Cotes 公式 代数精度 = 5, 这里
四、复化求积公式 高次插值有Runge 现象,怎么办? 可采用分段低次插值来解决 高阶Newton-Cotes公式会出现数值不稳定.而低阶Newton-Cotes公式有时又不能满足精度要求,怎么办? 可将积分区间 分成若干小区间,在每个小区间上用低阶求积公式计算,然后求和. ? 复化梯形公式: 在每个 上用梯形公式: = Tn /*中值定理*/ 复化梯形公式积分法 ? 复化 Simpson 公式:
4 4
4 4
4 = Sn 复化Simpson公式积分法 ? 复化 Cotes公式: = Cn ? 收敛速度与误差估计: 定义: 若一个积分公式的误差满足 , 且 ,则称该公式是 p 阶收敛的. ~ ~ ~ 例: 利用数据表
0 1/8 3/8 1/2 5/8 3/4 7/8
1 1/4
2 2.26549 2.46000 2.87640 3.20000 3.50685 3.76470 3.93846
4 计算积分 解: 这个问题有明显的答案 取n = 8用复化梯形公式 = 3.138988494 取n=4 用辛卜生公式 = 3.141592502 运算量基本相同 复化梯形公式的误差估计 给定精度 ,如何取 ? 例如:要求 ,如何判断 n = ?
1、误差先验估计式 记则?上例中若要求 ,则即:取n=409 通常采取将区间不断对分的方法,即取 n = 2k 上例中2k ?
409 ? k =
9 时,T512 = 3.14159202 S4 = 3.141592502 注意到区间再次对分时 可用来判断迭代是否停止.
2、误差后验估计式 复化Simpson公式的误差估计
1、误差先验估计式
2、误差后验估计式 复化Cotes公式的误差估计
1、误差先验估计式
2、误差后验估计式
四、龙贝格积分 例: 计算 已知对于? = 10?6 须将区间对分
9 次,得到 T512 = 3.14159202 考察 由 来计算 I 效果是否好些? = 3.141592502 = S4 一般有: Romberg求积公式 ? Romberg 算法: <
? ? <
? ? <
? ? ? T1 = )
0 (
0 T ? T8 = )
3 (
0 T ? T4 = )
2 (
0 T ? T2 = )
1 (
0 T ? S1 = )
0 (
1 T ? R1 = )
0 (
3 T ? S2 = )
1 (
1 T ? C1 = )
0 (
2 T ? C2 = )
1 (
2 T ? S4 = )
2 (
1 T ? 理查德森外推法 利用低阶公式产生高精度的结果. 由Taylor展开得到: ?i 与h无关 现将 对分,得: 设对于某一 , 有公式 近似计算某一未知值 . 如何将公式精度由 提高到 ? ...
4 3
2 1
1 2 ) ( ) (
2 3
3 2
2 0
2 0 - - - = - - - h h I h T T h a a 即: 计算步骤: 1.取 ,计算 2.对k = 1, 2,… 计算下列各步 3.对n = 0, 1, 2,…, k = n C 1, n C 2, … 4.收敛控制 若或则输出积分值 ,否则转3. Newton-Cotes公式采用等距节点作为求积节点代数精度至多可达到 .( 为偶数) 那么,在节点个数一定的情况下,是否可以在 上自由选择节点的位置,使求积公式的精度提得更高 ? 例:求形如 的两点求积公式. (1)用梯形公式(即以x0 = -1,x1 = 1为节点的插值型 求积公式)立即可得 . 只具有一次代数精确度! (2)若对求积公式中的四个待定系数A0, A1, x0, x1适当选取, 使求积公式对f (x) = 1,x,x2,x3都准确成立,则 需满足如下方程组: