郭 博 夏金鍵 曹 銘 吳清華
(湖南科技學(xué)院 理學(xué)院,湖南 永州 425199)
在工程應(yīng)用領(lǐng)域經(jīng)常涉及如下形式的高振蕩積分計(jì)算問題
若有駐點(diǎn),則直接轉(zhuǎn)化后的 F(t)將出現(xiàn)奇異性。為了克服這個(gè)困難,Xiang 等提出了分區(qū)間,利用同胚變換tr+1=g(x)-g(ξ)和插值的方法,其中ξ是駐點(diǎn)[1]。該方法的誤差分析建議采用端點(diǎn)處的導(dǎo)數(shù)插值方法對(duì)函數(shù)進(jìn)行插值如在端點(diǎn)處使用埃米特插值。但該方法的插值公式較復(fù)雜,有時(shí)計(jì)算效果不佳。為此Domínguez等提出了 Filon-Clenshaw-Curtis 方法[2]。該方法先直接利用變換將積分轉(zhuǎn)化為式(2)類型,再將區(qū)間分成若干小區(qū)間,在包含奇異點(diǎn)小區(qū)間內(nèi)采樣階梯網(wǎng)格進(jìn)行計(jì)算。對(duì)于不含奇異點(diǎn)的區(qū)間,利用切比雪夫多項(xiàng)式逼近F(t),再利用正交多項(xiàng)式的性質(zhì)得出遞推公式。但該方法需要選擇奇異小區(qū)間的長度及階梯網(wǎng)格的參數(shù)。除此之外,還有其他考慮存在駐點(diǎn)的計(jì)算方法,如基于Levin 方法,推導(dǎo)出含有駐點(diǎn)時(shí)的計(jì)算公式。但對(duì)于一般振蕩因子的高振蕩積分計(jì)算問題,由于振蕩因子的一般性,仍有許多問題值得深入研究[3]。
本文將在已有研究的基礎(chǔ)上,對(duì)于一般的 g(x),先利用同胚變換積分,再利用 Filon-Clenshaw-Curtis方法的思想,對(duì)被積函數(shù)中非振蕩的函數(shù)在Clenshaw-Curtis 點(diǎn)上插值,再利用遞推公式進(jìn)行計(jì)算,最后通過數(shù)值算例驗(yàn)證算法的有效性和精度。
對(duì)于沒有駐點(diǎn)的情形,直接利用變換轉(zhuǎn)化為標(biāo)準(zhǔn)振蕩因子的即可,下面考慮含有駐點(diǎn)的情形。
對(duì)于有駐點(diǎn)的情形,不妨假設(shè)ξ∈(a,b)為 g(x)的唯一駐點(diǎn),且g'(ξ)=g''(ξ)=…=g(r)(ξ)=0, g(r+1)(ξ)≠0,首先利用同胚變換tr+1=g(x)-g(ξ),將式(1)轉(zhuǎn)化為如下形式的積分
該算例是有1 階駐點(diǎn)的情形,首先利用同胚變換轉(zhuǎn)化為類似(4)式的情形,具體見式(11),再利用遞推關(guān)系式(9)進(jìn)行計(jì)算。當(dāng)N=16,w=103,104,105,106時(shí),用新方法計(jì)算的近似值和絕對(duì)誤差由表1 給出。
表1 當(dāng)N=16時(shí)計(jì)算的近似值和絕對(duì)誤差
表1 和表2 中的精確值是通過Mathematica 軟件的高精度計(jì)算獲得,從中可以看出算法的計(jì)算精度很高,效果較好,且具有隨著w 的增大,計(jì)算效果越好的特點(diǎn)。對(duì)于固定的w,隨著展開項(xiàng)數(shù)N 的增加,絕對(duì)誤差逐漸減少,最終快速達(dá)到機(jī)器精度,計(jì)算效果如圖1 所示。
圖1 w=105時(shí)的計(jì)算絕對(duì)誤差圖
該算例是一個(gè)具有更高階駐點(diǎn)的情形。當(dāng)w=103時(shí),對(duì)于0 到15 階的切比雪夫多項(xiàng)式,用遞推關(guān)系式(9)計(jì)算相應(yīng)的高振蕩積分,計(jì)算的近似值和絕對(duì)誤差由表2 給出。
表2 當(dāng)w=103時(shí)計(jì)算的近似值和絕對(duì)誤差
從表2 可知,算法的計(jì)算精度較高,計(jì)算效果較好。
本文設(shè)計(jì)了一種新型Clenshaw-Curtis-Filon 方法,該方法能計(jì)算一般振蕩因子的高振蕩積分。數(shù)值實(shí)驗(yàn)驗(yàn)證了方法的有效性和計(jì)算精度。該方法成本低,便于實(shí)施,對(duì)高振蕩積分的計(jì)算具有一定的價(jià)值。