"/>
劉 浩,李夢(mèng)爽
南京大學(xué),江蘇南京 211102
[1]中的證明可知:在 n<=8 時(shí)數(shù)值穩(wěn)定,誤差隨n 的增大而減小,同時(shí)n>8 時(shí),會(huì)產(chǎn)生數(shù)值不穩(wěn)定性,造成巨大計(jì)算誤差。但是,實(shí)際的計(jì)算過(guò)程中誤差并沒(méi)有像[1]中所言在n小于8時(shí)候會(huì)隨著n的增大而減小,而是減小到一定程度之后就不再減小。
經(jīng)過(guò)實(shí)驗(yàn)分析(在精度更高的計(jì)算環(huán)境下,誤差的減小微乎其微)我們確定這不是由于計(jì)算機(jī)表示精度的原因造成的。進(jìn)一步分析和對(duì)比[2]中的給定積分系數(shù)Ai,我們確定這是由于其中在計(jì)算過(guò)程中計(jì)算Ai多項(xiàng)式積分引入了額外的誤差。于是我們提出了一種改進(jìn)的Newton-Cotes數(shù)值積分算法。我們稱新算法為后置秦氏Newton-Cotes算法。
經(jīng)典的復(fù)合Newton-Cotes算法和相關(guān)結(jié)果
Newton-Cotes計(jì)算方法是將問(wèn)題轉(zhuǎn)化為計(jì)算積分的近似值
當(dāng)階數(shù)過(guò)大時(shí)會(huì)產(chǎn)生數(shù)值不穩(wěn)定性,所以采用復(fù)合Newton-Cotes算法增加計(jì)算的精度。其思想是講區(qū)間[a,b]平分成m段,在每段上使用Newton-Cotes算法,最后將各段結(jié)果求即為積分的近似值。
【定理1】[1]n階Newton-Cotes算法的離散誤差
為
由此當(dāng)n較大時(shí)離散誤差會(huì)發(fā)散。
但是實(shí)際數(shù)值計(jì)算試驗(yàn)中并沒(méi)有表現(xiàn)出上述定理所述的結(jié)果,這是因?yàn)樯鲜龆ɡ碚J(rèn)為Ai的計(jì)算是絕對(duì)準(zhǔn)確的,但實(shí)際計(jì)算中只是還是使用數(shù)值積分方法計(jì)算該Ai,只是計(jì)算多項(xiàng)式積分的計(jì)算更準(zhǔn)確一點(diǎn)。然而這卻導(dǎo)致了在n上升到較小值的之后誤差就不再明顯下降。于是我們提出了如下算法。
在經(jīng)典的復(fù)合Newton-Cotes算法中我們會(huì)使用,秦九韶算法計(jì)算多項(xiàng)式的值之后再進(jìn)行數(shù)值積分。我們這里觀察發(fā)現(xiàn)其實(shí)Ai的計(jì)算可以利用多項(xiàng)式積分的特點(diǎn)進(jìn)行優(yōu)化。在后置秦氏復(fù)合Newton-Cotes算法中我們先計(jì)算出Ai中多項(xiàng)式的系數(shù),之后對(duì)系數(shù)矩陣做加權(quán)平移就可以得到積分后多項(xiàng)式的系數(shù)矩陣,然后再使用秦九韶算法計(jì)算Ai。這相當(dāng)于將秦氏算法后置,所以我們?nèi)∶麨楹笾们厥蠌?fù)合Newton-Cotes算法。具體介紹之前我們先引入一個(gè)引理。
【引理1】k次多項(xiàng)式Pk(t)的系數(shù)矩陣為
下圖表示了后置秦氏復(fù)合Newton-Cotes算法的圖示。
我們將分別使用經(jīng)典的復(fù)合Newton-Cotes算法和后置秦氏復(fù)合Newton-Cotes算法計(jì)算計(jì)算積分,并對(duì)比計(jì)算結(jié)果。
【試驗(yàn)一】:使用經(jīng)典的復(fù)合Newton-Cotes算法(m是分段數(shù),n表示Newton-Cotes算法的階數(shù))
下圖中上方曲線是m=100時(shí)誤差隨n變化的曲線,下方是m=10000時(shí)的曲線。縱坐標(biāo)是對(duì)數(shù)坐標(biāo)表示誤差的絕對(duì)值。
實(shí)驗(yàn)表明經(jīng)典算法在n在3和8之間精度沒(méi)有明顯增長(zhǎng),并驗(yàn)證了定理一中的關(guān)于數(shù)值不穩(wěn)定的結(jié)論。
【實(shí)驗(yàn)二】:使用后置秦氏復(fù)合Newton-Cotes算法
上圖中上方兩條是實(shí)驗(yàn)一中的數(shù)據(jù)。最下方曲線是m=10000時(shí)候誤差隨n上升變化的曲線。
實(shí)驗(yàn)表明使用改進(jìn)之后的后置秦氏復(fù)合Newton-Cotes算法可以明顯地增強(qiáng)算法的精度。
【實(shí)驗(yàn)三】:對(duì)比上述試驗(yàn)中計(jì)算出的Newton-Cotes系數(shù)Ai
參考[2]中給定的Cotes系數(shù),我們發(fā)現(xiàn)經(jīng)典算法的系數(shù)對(duì)稱性和精確度都沒(méi)有改進(jìn)算法好,我們分析認(rèn)為這正是新算法精度較高的原因。
使用我們?cè)O(shè)計(jì)的后置秦氏復(fù)合Newton-Cotes算法在不明顯增加計(jì)算量的情況下可以大大增加計(jì)算結(jié)果的精度,尤其在Cotes系數(shù)的對(duì)稱性上有比較大的改進(jìn)。
參考文獻(xiàn)
[1]林成森.《數(shù)值計(jì)算方法.上冊(cè)》.科學(xué)出版社.
[2]黃云清.《數(shù)值計(jì)算方法》.科學(xué)出版社.