计算方法上机练习 数值积分
(包括两次的作业 )
马骢
问题: 《计算方法引论》pp.132–133 练习
分析:在实际应中基本的数值积分,可 以分为以下种类 :
• 牛顿型 :在给定有 限区 间上求等距节 点上 的函数值 。如牛顿-柯茨法则
(数值上不好用 )、矩形法则 、梯形法则 、辛 卜生法则 ,以及 “扩展 ”
(“复化 ”)的梯形法则或辛 卜生法则等等。
• 高斯型 :在有 限或无 限区间上 ,计算 由一族正交多项式 的根为节点处 的
函数值 。选择不 同的正交多项式可 以得到不 同的公式 ,如有 限区间上 的
高斯-勒让德公式 (经典高斯型积分 )、高斯-切 比谢夫公式 ,无 限区间上
的高斯-拉盖尔公式和高斯-埃尔米特公式。
牛顿型积分法又分为开式和 闭式 ,以及半开式 。开式不使用区间端点函数值 ,
这在端点处有可积奇点的时候有很大 的优越性 ;闭式使用两端点的函数值 ;半
开式则使用一个端点的函数值 。以下主要使用 闭式。
为了增强牛顿型积分的效果,通常可 以考虑 以下方面:
1. 增加次数 。使用更高次 的多项式 ,在被积 函数光滑型好 的情况下可 以提
高精度 ,但是我们始终要注意 的一点是代数精度不等于精确度 。在被积
函数不光滑 的时候高次公式可能引入 巨大误差 ,而且增加次数不能保证
收敛于真值 。
2. 复化 。将 区 间分成更 多小 区 间,在每个 (每 组 )小 区 间上使用低 次公
式 。这种方法如果使用得当可 以很好地提高精度 ,特别是复化梯形法在
被积 函数连续性 、光滑性很差 的时候是极其稳健 的方法 。不过这要求 函
数求值 的次数非常多,特别是在使用逐次半分法进行复化逼近 的时候 ,
如 果 区 间较长 ,或 函数跃变很大 ,则难 以收敛 ,并且舍入误 差积 累很
大。
3. 外插 。所谓 “外插 ”指 的是理查森 的间接求极 限法用于求积分 。将误差
项 的阶数看作步长 的函数 ,求 出步长逐渐减小时积分 的一系列近似值 ,
再将这些值外插 到步长 为0的极 限情况 ,得到的插值 结果作为数值积分
的结果 。在实现上有基于梯形公式 的龙 贝格法 。外插法 的速度快 ,但是
它适用 的范 围并不一定 因此扩大 。对于常规方法需要很多次计算才能逼
近 的情况 ,它 的求值 、四则运算次数一般也可能很多,舍入误差难 以控
制 。
高斯型积分 的节 点和权数需要预先计算好 ,节 点不能 自己选择 。其 中高
斯-勒让德型和高斯-切 比谢夫型 的积分节点 比较好计算 (前者利用解析性质结
合牛顿求根法 ,后者可写成显式 )。高斯-拉盖尔和高斯-埃尔米特型积分可分
别求半无穷或整个实数轴上 的积分 。勒让德型积分 比较普适 ;切 比谢夫型 的积
1
1
√
分适合于被积 函数 中有权 函数 因子 的情况 ,但一般情况下不及勒让德
1 − x2
2
型准确 。拉盖尔型和埃尔米特型分别适用于有权 函数e−x和e−x 的情形 。值得
注意 的是高斯型积分属于 “开式 ”积分 ,不受端点处可积奇点的影响。一般在
被积函数解析形式 已知,光滑型 比较好 的时候使用 ,以获取较大的精度 。
求解:我们只给出以上编写的函数 ,练习的求解仅仅是调用它们 。
• traprefin.m 逐次半分的梯形求积
fun