基于复合Newton-Cotes改进的一种数值积分算法

2011-08-29 05:39李梦爽
科技传播 2011年24期
关键词:秦氏数值积分后置

刘 浩,李梦爽

南京大学,江苏南京 211102

1 问题的提出

[1]中的证明可知:在 n<=8 时数值稳定,误差随n 的增大而减小,同时n>8 时,会产生数值不稳定性,造成巨大计算误差。但是,实际的计算过程中误差并没有像[1]中所言在n小于8时候会随着n的增大而减小,而是减小到一定程度之后就不再减小。

经过实验分析(在精度更高的计算环境下,误差的减小微乎其微)我们确定这不是由于计算机表示精度的原因造成的。进一步分析和对比[2]中的给定积分系数Ai,我们确定这是由于其中在计算过程中计算Ai多项式积分引入了额外的误差。于是我们提出了一种改进的Newton-Cotes数值积分算法。我们称新算法为后置秦氏Newton-Cotes算法。

2 算法的介绍

经典的复合Newton-Cotes算法和相关结果

Newton-Cotes计算方法是将问题转化为计算积分的近似值

当阶数过大时会产生数值不稳定性,所以采用复合Newton-Cotes算法增加计算的精度。其思想是讲区间[a,b]平分成m段,在每段上使用Newton-Cotes算法,最后将各段结果求即为积分的近似值。

【定理1】[1]n阶Newton-Cotes算法的离散误差

由此当n较大时离散误差会发散。

但是实际数值计算试验中并没有表现出上述定理所述的结果,这是因为上述定理认为Ai的计算是绝对准确的,但实际计算中只是还是使用数值积分方法计算该Ai,只是计算多项式积分的计算更准确一点。然而这却导致了在n上升到较小值的之后误差就不再明显下降。于是我们提出了如下算法。

3 后置秦氏复合Newton-Cotes算法

在经典的复合Newton-Cotes算法中我们会使用,秦九韶算法计算多项式的值之后再进行数值积分。我们这里观察发现其实Ai的计算可以利用多项式积分的特点进行优化。在后置秦氏复合Newton-Cotes算法中我们先计算出Ai中多项式的系数,之后对系数矩阵做加权平移就可以得到积分后多项式的系数矩阵,然后再使用秦九韶算法计算Ai。这相当于将秦氏算法后置,所以我们取名为后置秦氏复合Newton-Cotes算法。具体介绍之前我们先引入一个引理。

【引理1】k次多项式Pk(t)的系数矩阵为

下图表示了后置秦氏复合Newton-Cotes算法的图示。

4 算例与分析

我们将分别使用经典的复合Newton-Cotes算法和后置秦氏复合Newton-Cotes算法计算计算积分,并对比计算结果。

【试验一】:使用经典的复合Newton-Cotes算法(m是分段数,n表示Newton-Cotes算法的阶数)

下图中上方曲线是m=100时误差随n变化的曲线,下方是m=10000时的曲线。纵坐标是对数坐标表示误差的绝对值。

实验表明经典算法在n在3和8之间精度没有明显增长,并验证了定理一中的关于数值不稳定的结论。

【实验二】:使用后置秦氏复合Newton-Cotes算法

上图中上方两条是实验一中的数据。最下方曲线是m=10000时候误差随n上升变化的曲线。

实验表明使用改进之后的后置秦氏复合Newton-Cotes算法可以明显地增强算法的精度。

【实验三】:对比上述试验中计算出的Newton-Cotes系数Ai

参考[2]中给定的Cotes系数,我们发现经典算法的系数对称性和精确度都没有改进算法好,我们分析认为这正是新算法精度较高的原因。

5 结论

使用我们设计的后置秦氏复合Newton-Cotes算法在不明显增加计算量的情况下可以大大增加计算结果的精度,尤其在Cotes系数的对称性上有比较大的改进。

参考文献

[1]林成森.《数值计算方法.上册》.科学出版社.

[2]黄云清.《数值计算方法》.科学出版社.

猜你喜欢
秦氏数值积分后置
基于计算前沿面的实时仿真数值积分并行构造及其数值模型解耦加速方法
非正交五轴联动数控机床后置处理算法开发
秦氏的悲情与野心*——乾隆末年一桩离婚案中的底层妇女
基于辛普生公式的化工实验中列表函数的一种积分方法
沉淀后置生物处理组合工艺的工程应用
Review of Research on the Prevention of HPV Infection and Cervical Cancer
后置式自动发卡机系统应用
明清时期洞庭秦氏家族研究——以《洞庭秦氏宗谱》为中心
秦氏旧宅厅堂木构架体系结构性能分析
秦氏支祠研究