振蕩函數(shù)積分的數(shù)值計(jì)算[畢業(yè)論文]_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)論文(設(shè)計(jì))</p><p><b>  (20 屆)</b></p><p>  振蕩函數(shù)積分的數(shù)值計(jì)算</p><p>  所在學(xué)院 </p><p>  專(zhuān)業(yè)班級(jí) 信息與計(jì)算科學(xué) </p>

2、<p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p>  摘要:在科學(xué)應(yīng)用領(lǐng)域,如電磁學(xué)、非線性學(xué)、流體動(dòng)力學(xué)、等離子體運(yùn)輸、天體動(dòng)力學(xué)、地質(zhì)勘探等,

3、都常常要計(jì)算含有振蕩函數(shù)的積分。振蕩函數(shù)有時(shí)并非光滑,甚至并不連續(xù)。為了研究這一類(lèi)特殊函數(shù),我們必須考慮一些相應(yīng)的數(shù)值求解振蕩函數(shù)積分的方法,比如可考慮轉(zhuǎn)化為兩零點(diǎn)間的積分,F(xiàn)ilon算法等。而這些方法的基礎(chǔ)為常用的數(shù)值積分公式,比如梯形公式及其復(fù)合公式,拋物線公式及其復(fù)合公式等等。接著,通過(guò)比較總結(jié)得出幾種方法的適用范圍與優(yōu)缺點(diǎn),其中包括三次樣條插值,分段插值以及復(fù)化九點(diǎn)高斯-勒讓德法。</p><p>  關(guān)

4、鍵詞:振蕩函數(shù);求積公式;數(shù)值計(jì)算 </p><p>  The Numerical Formula for Integrals of Oscillation Function</p><p>  Abstract: In scientific applications, such as electromagnetism, nonlinear science, fluid dynamics

5、, plasma transportation, celestial dynamics, geological prospecting etc, we often face with the integral calculation of oscillation function. Oscillation function sometimes is not smooth, even not continuous. In order to

6、 research this kind of special function, some corresponding methods must be considered. For instance, it can be changed into the integral which is between two zeros, Filon algorithm, </p><p>  Key words: osc

7、illation function; quadrature formula; numerical calculation</p><p><b>  目 錄</b></p><p><b>  1 緒 論I</b></p><p>  1.1 背景意義1</p><p>  1.2 結(jié)構(gòu)特

8、點(diǎn)1</p><p>  2 數(shù)值積分...................................................................2</p><p>  2.1 牛頓-科茨求積公式2</p><p>  2.2 復(fù)合求積公式..............................................

9、.............2 </p><p>  2.3 高斯型求積公式.........................................................3</p><p>  3 振蕩函數(shù)積分的數(shù)值計(jì)算.....................................................5</p><p>

10、  3.1 幾種常用的振蕩函數(shù)的數(shù)值積分公式......................................5</p><p>  3.1.1 在兩零點(diǎn)之間積分..........................................5</p><p>  3.1.2 菲隆方法.........................................

11、........5</p><p>  3.1.3 Hermite數(shù)值積分公式......................................5 3.2 幾類(lèi)特殊振蕩函數(shù)的數(shù)值積分方法分析.....................................5</p><p>  3.3 一維振蕩函數(shù)數(shù)值積分公式的設(shè)計(jì)........................

12、.................7</p><p>  3.3.1 三次樣條插值求積公式...................................... 7</p><p>  3.3.2 分段線性插值求積公式...................................... 8</p><p>  3.3.3 分段拋物插值求積公

13、式..................................... 10</p><p>  3.3.4 復(fù)化九點(diǎn)高斯-勒讓德求積公式............................... 12</p><p>  4 數(shù)值算例及比較............................................................15</

14、p><p>  4.1 幾類(lèi)特殊振蕩函數(shù)的數(shù)值積分方法.......................................15</p><p>  4.2 評(píng)價(jià).................................................................15</p><p><b>  5 結(jié) 論17<

15、;/b></p><p><b>  致謝18</b></p><p><b>  參考文獻(xiàn)19</b></p><p>  附錄.........................................................................20</p><p

16、><b>  1 緒論</b></p><p><b>  1.1 背景意義</b></p><p>  科學(xué)計(jì)算作為當(dāng)今科學(xué)研究的三種手段之一,是數(shù)學(xué)將觸角伸向其他科學(xué)的橋梁。在科學(xué)應(yīng)用領(lǐng)域,如電磁學(xué)、非線性學(xué)、流體動(dòng)力學(xué)、等離子體運(yùn)輸、天體動(dòng)力學(xué)、地質(zhì)勘探等,都常常要計(jì)算含有振蕩函數(shù)的積分。振蕩函數(shù)有時(shí)并非光滑,甚至并不連續(xù),為了

17、研究這一類(lèi)特殊函數(shù),我們必須考慮一些相應(yīng)的方法,并數(shù)值求解振蕩函數(shù)積分的若干方法。目前,對(duì)振蕩函數(shù)數(shù)值積分公式進(jìn)行的研究已取得一些研究成果。如Filon法,Lobatto法和Price法等,但它們都或多或少存在一些弊端,有的方法需要計(jì)算大量的一階或高階導(dǎo)數(shù),這樣會(huì)使得問(wèn)題更加復(fù)雜化,而且高階導(dǎo)數(shù)的計(jì)算會(huì)降低最終結(jié)果的精度;另外,有的需要大量復(fù)雜的計(jì)算,這就使得算法的時(shí)間效率和空間效率有所降低。在實(shí)際應(yīng)用中,對(duì)于被積函數(shù)含有振蕩的積分以及

18、廣義積分的計(jì)算中,需對(duì)被積函數(shù)作適當(dāng)?shù)奶幚碓龠M(jìn)行近似計(jì)算,才能提高計(jì)算結(jié)果的精度。而這些方法的基礎(chǔ)為常用的數(shù)值積分公式,比如梯形公式及其復(fù)合公式,拋物線公式及其復(fù)合公式,Guass求積公式等等。積分運(yùn)算是微積分學(xué)的一個(gè)重要的分支。在加速度已知的情況下,積分運(yùn)算用來(lái)求它的速度;或者通過(guò)速度求出位移,計(jì)算圖形面積,預(yù)測(cè)人口增長(zhǎng)等其他</p><p>  隨著計(jì)算機(jī)的迅速發(fā)展,在科學(xué)、技術(shù)、工程、生產(chǎn)、醫(yī)學(xué)、經(jīng)濟(jì)和人文

19、等領(lǐng)域中抽象出來(lái)的許多數(shù)學(xué)問(wèn)題可以用計(jì)算機(jī)計(jì)算、求解??山栌密浖鏜atlab或C對(duì)其中一些方法進(jìn)行編程實(shí)現(xiàn)。能夠?qū)⒗碚撆c實(shí)踐聯(lián)系起來(lái),形成一個(gè)由“實(shí)踐—理論—實(shí)踐”的良性循環(huán)。</p><p><b>  1.2 結(jié)構(gòu)特點(diǎn)</b></p><p>  本文主要研究一維振蕩函數(shù)的情況,首先介紹幾種常用的數(shù)值積分公式,然后介紹幾種一般的振蕩函數(shù)數(shù)值求積公式,并總計(jì)設(shè)計(jì)

20、幾種特殊振蕩函數(shù)的求積公式。最后通過(guò)數(shù)值示例比較各種方法的優(yōu)劣利弊。</p><p><b>  2 數(shù)值積分</b></p><p>  2.1 牛頓-科茨求積公式</p><p>  我們利用插值多項(xiàng)式來(lái)構(gòu)造數(shù)值積分公式,設(shè)區(qū)間,用被積函數(shù)的以為節(jié)點(diǎn)的n次Lagrange插值多項(xiàng)式及其余項(xiàng)代替被積函數(shù),當(dāng)求積節(jié)點(diǎn)為等距節(jié)點(diǎn)時(shí)得到以下數(shù)

21、值積分公式</p><p>  , (2.1)</p><p><b>  其中</b></p><p><b>  , </b></p><p>  稱為求積系數(shù), 為 n次插值基函數(shù),稱為求積積點(diǎn)。

22、 </p><p>  非周期函數(shù)的積分,一般使用Newton-Cotes法或龍貝格法。 </p><p>  設(shè)[a,b]為有限區(qū)間,步長(zhǎng),則相應(yīng)的公式(2.1)便稱為n階Newton-Cotes型求積公式。</p><p>  梯形公式建立的基礎(chǔ)是用線性插值多項(xiàng)式逼近被積函數(shù)。即當(dāng)Newton-Cotes求積公式中n=1時(shí),得</p

23、><p><b>  ,</b></p><p><b>  稱為梯形公式。</b></p><p>  如果用二次或三次插值多項(xiàng)式我們可以使逼近效果更好。辛普森公式建立的基礎(chǔ)就是這種逼近。即Newton-Cotes求積公式中當(dāng)n=2時(shí),得</p><p><b>  ,</b>&

24、lt;/p><p>  稱為拋物線公式,也叫Simpson公式。</p><p>  2.2 復(fù)合求積公式</p><p>  應(yīng)用高階的Newton-Cotes型求積公式計(jì)算積分會(huì)出現(xiàn)數(shù)值不穩(wěn)定,低階公式(如梯形和拋物線公式)又往往因積分區(qū)間步長(zhǎng)過(guò)大使得離散誤差大。然而,若積分區(qū)間愈小,則離散誤差小。因此,為了提高求積公式的精確度,又使算法簡(jiǎn)單易行,往往使用復(fù)化方法

25、。即把積分區(qū)間分成若干個(gè)子區(qū)間,在每個(gè)子區(qū)間上使用低階公式,然后將結(jié)果加起來(lái),這種公式稱為復(fù)合求積公式。復(fù)合求積公式是一種典型的求積方法,通過(guò)低階的求積公式構(gòu)造出收斂性極好的求積方法,主要有復(fù)合梯形公式和復(fù)合Simpson公式。</p><p>  記,,。在每個(gè)小區(qū)間上使用梯形求積公式,便得到復(fù)合梯形求積公式:</p><p><b>  ,</b></p&g

26、t;<p>  如將[a,b]區(qū)間2m等分,記,,,在每個(gè)小區(qū)間上使用拋物線求積公式,則得復(fù)合拋物線公式:</p><p><b>  .</b></p><p>  2.3 高斯型求積公式</p><p>  若區(qū)間上一組節(jié)點(diǎn)使得相應(yīng)求積公式(2.1)具有2n+1次代數(shù)精度,則稱此點(diǎn)組為高斯點(diǎn)組,相應(yīng)的求積公式(2.1)為高

27、斯型求積公式。高斯點(diǎn)組可直接通過(guò)求解相應(yīng)方程組得到,也可借助正交多項(xiàng)式的零點(diǎn)來(lái)確定。我們前面討論的數(shù)值積分公式都是事先給定均勻分布x值的;這就意味著x值被事先確定了。對(duì)于一個(gè)三項(xiàng)的公式,存在三個(gè)自由參數(shù),即對(duì)應(yīng)函數(shù)值的系數(shù)(加權(quán)因子)。一個(gè)有三個(gè)參數(shù)的公式可以確定一個(gè)二次多項(xiàng)式,比參數(shù)的個(gè)數(shù)少一個(gè)。高斯發(fā)現(xiàn)如果我們改變求解函數(shù)值的任務(wù)沒(méi)有事先確定x值的話,那么三項(xiàng)積分公式中將含有六個(gè)參數(shù)(這三個(gè)x值現(xiàn)在是未知的,把三個(gè)權(quán)相加)并且相當(dāng)于

28、一個(gè)五次插值多項(xiàng)式。以這個(gè)原則為基礎(chǔ)的公式稱作高斯積分公式。它們只能應(yīng)用于表達(dá)式已知的情況下,從而可以求出任意需要x點(diǎn)的函數(shù)值。高斯積分公式效率高的原因是它只需要兩個(gè)函數(shù)值的加權(quán)和。</p><p>  Gauss型求積公式是具有最高代數(shù)精確度的插值求積公式,對(duì)于不同的權(quán)函數(shù),便有不同的直交多項(xiàng)式,從而得到不同的具體Gauss型求積公式。</p><p>  Guass-Legendre公

29、式</p><p><b>  ,</b></p><p>  在物理和力學(xué)中常常遇到一些帶有權(quán)函數(shù)的廣義積分。對(duì)于這些積分使用其他求積公式會(huì)遇到困難,而針對(duì)權(quán)函數(shù)和積分區(qū)間,選擇適當(dāng)?shù)墓?jié)點(diǎn)構(gòu)造代數(shù)精確度最高的Gauss型求積公式進(jìn)行計(jì)算,通常是最有效的。</p><p>  Guass-Laguerre公式</p><p&

30、gt;<b>  .</b></p><p>  3 振蕩函數(shù)積分的數(shù)值計(jì)算</p><p>  3.1 幾種常用的振蕩函數(shù)數(shù)值積分方法</p><p>  在科學(xué)與工程計(jì)算中,經(jīng)常要求計(jì)算積分</p><p>  , (3.1)</p><

31、;p>  其中是一個(gè)“振蕩核”,即為關(guān)于x的振蕩函數(shù)。而f為非振蕩函數(shù)。</p><p>  3.1.1 在兩零點(diǎn)之間積分</p><p>  設(shè)被積函數(shù)振蕩部分在上的零點(diǎn)為,那么將上的積分分解為子區(qū)間上積分之和。在每個(gè)子區(qū)間上,因被積函數(shù)在端點(diǎn)之值為零,所以可以采用高斯-洛巴托求積公式,這樣可以不必增加計(jì)算量就可以得到較高的精度。</p><p>  3.1

32、.2 菲隆方法</p><p>  設(shè)(3.1)中f可以表示為</p><p><b>  , , </b></p><p>  其中是上的小量(當(dāng)然為x的函數(shù))。令</p><p><b>  , </b></p><p>  可以用初等積分顯示表示出來(lái)。Filon

33、方法就是用的近似求出積分(3.1),通常是用的拋物線插值函數(shù)近似,也可用三次樣條插值近似。</p><p>  3.1.3 Hermite數(shù)值積分公式</p><p>  在工程技術(shù)問(wèn)題中,常會(huì)遇到振蕩函數(shù)的積分,通常的插值型求積公式往往是失效的。由于在[-1,1]上符號(hào)有正負(fù),故不能作權(quán)函數(shù)處理。根據(jù)插值多項(xiàng)式的數(shù)值積分的一些結(jié)論,導(dǎo)出n+1個(gè)節(jié)點(diǎn)的振蕩函數(shù)的Hermite插值求積公

34、式,它的權(quán)因子分成兩部分,一部分依賴于節(jié)點(diǎn),另一部分獨(dú)立于節(jié)點(diǎn)的新型的求積公式,并利用正交多項(xiàng)式的性質(zhì),給出其遞推關(guān)系式及誤差分析。</p><p>  3.2 幾類(lèi)特殊振蕩函數(shù)的數(shù)值積分方法分析</p><p>  在這里,我們首先討論振蕩函數(shù)一維時(shí)的情形,它的一般形式為:</p><p><b>  ,</b></p>

35、<p>  ( 其中為參數(shù),為非振蕩函數(shù),為依賴于的高振蕩函數(shù)。 )則振蕩函數(shù)積分的形式為:</p><p>  , </p><p><b>  傅里葉積分</b></p><p><b>  ,</b></p><p>  為典型例子。當(dāng)n

36、較大時(shí)就是一類(lèi)振蕩函數(shù)積分。在物理學(xué)和工程學(xué)中,經(jīng)常遇到型如(為正整數(shù))振蕩函數(shù)的數(shù)值積分問(wèn)題。由于在上的符號(hào)有正有負(fù),同樣一般不能簡(jiǎn)單地作為權(quán)函數(shù),而用高斯法來(lái)計(jì)算這種類(lèi)型積分。但使用這種些方法想得到較精確的近似值需要較大的計(jì)算量。而運(yùn)用樣條函數(shù)處理此類(lèi)積分則能大大提高代數(shù)精確度。</p><p>  振蕩函數(shù)積分,在應(yīng)用數(shù)學(xué)、物理學(xué)、工程計(jì)算等方面有著廣泛的應(yīng)用。眾所周知,n越大,被積函數(shù),就振蕩得越厲害,也

37、就是說(shuō),函數(shù)與x軸的交點(diǎn)就越多。在對(duì)振蕩函數(shù)積分進(jìn)行數(shù)值計(jì)算時(shí),如何克服振蕩所帶來(lái)的誤差,成為解決這一問(wèn)題的關(guān)鍵。</p><p>  這時(shí),若想要對(duì)上面這一類(lèi)振蕩函數(shù)積分建立插值多項(xiàng)式,那么為了保證精確度,必須進(jìn)行高次插值。然而現(xiàn)實(shí)是高次插值存在嚴(yán)重缺陷,即Ruge現(xiàn)象。而且當(dāng)插值次數(shù)趨于無(wú)窮時(shí),所求插值多項(xiàng)式不一定收斂到函數(shù),這樣就數(shù)值計(jì)算就是無(wú)效的。同時(shí),高次插值會(huì)使計(jì)算機(jī)難以處理,數(shù)值計(jì)算不穩(wěn)定,往往達(dá)不

38、到精確度要求甚至相差甚遠(yuǎn)。另一方面,對(duì)于一維情形,簡(jiǎn)單的復(fù)化求積公式像復(fù)化Newton-Cotes公式效果也不是很理想。因此,對(duì)該類(lèi)振蕩函數(shù)尋求更高精度的收斂穩(wěn)定的求積公式,對(duì)解決工程應(yīng)用中遇到的一些振蕩函數(shù)積分問(wèn)題有很重要的實(shí)際應(yīng)用意義。</p><p>  綜上,我們得到啟發(fā),第一,若我們利用插值多項(xiàng)式構(gòu)造插值型的求積公式,則該插值多項(xiàng)式的次數(shù)不能太高,而且只能針對(duì)中的非振蕩函數(shù)而不是對(duì)整個(gè)構(gòu)造插值多項(xiàng)式。則

39、得到</p><p>  . (其中為積分誤差項(xiàng))</p><p>  這就避免了構(gòu)造高次多項(xiàng)式去逼近而導(dǎo)致不收斂穩(wěn)定的情況。第二,如果我們想根據(jù)復(fù)化求積的思想構(gòu)造復(fù)化的求積公式,那么必須對(duì)復(fù)化的求積進(jìn)行加速外推,這就是所謂的龍貝格求積算法。這時(shí)將被作為一個(gè)獨(dú)立的被積函數(shù)來(lái)對(duì)待,不再把分離出來(lái)。當(dāng)然,此時(shí)的理查森加速外推法也同時(shí)適用于振蕩函數(shù)以外的其他的一般可積函數(shù)。</p>

40、<p>  在工程物理問(wèn)題中,,其中是光滑函數(shù),變化不厲害。常數(shù)m較大,從而使被積函數(shù)振蕩很激烈。無(wú)論是Guass型求積法,還是Romberg方法,自適應(yīng)方法,都需要計(jì)算大量的函數(shù)值才能使數(shù)值結(jié)果達(dá)到給定的誤差要求。此時(shí),利用的三次插值樣條函數(shù)逼近來(lái)建立有效的數(shù)值方法。</p><p>  3.3 一維振蕩函數(shù)數(shù)值積分公式的設(shè)計(jì)</p><p>  3.3.1 三次

41、樣條插值求積公式</p><p>  我們對(duì)形如,的振蕩函數(shù)積分建立的三次樣條插值函數(shù),使得</p><p>  , (3.2) </p><p>  . (3.3)</p><p>  其中,為積分余項(xiàng)。容易看出,兩式的

42、右端都保留振蕩函數(shù)的一部分,但它是可以精確求出的。</p><p>  現(xiàn)在我們令為滿足第一邊界條件的三次樣條插值函數(shù),把區(qū)間n等分,節(jié)點(diǎn)為</p><p>  ,步長(zhǎng)。記在節(jié)點(diǎn)處的值為。</p><p>  由于,,,,則對(duì)(3.2)式的右端重復(fù)地使用分部積分公式得到:</p><p><b> ?。?.4)</b>&

43、lt;/p><p><b>  其中</b></p><p><b>  .</b></p><p><b>  用相同的方法得到:</b></p><p><b> ?。?.5)</b></p><p><b>  其中.&

44、lt;/b></p><p>  誤差分析:由三次樣條插值方法的誤差估計(jì)得</p><p>  則由(3.2)式得到:</p><p><b> ?。?.6)</b></p><p><b>  類(lèi)似的可以得到:</b></p><p><b> ?。?.7)

45、</b></p><p>  從(3.6)和(3.7)式中可以看出,當(dāng)時(shí),它們的右端項(xiàng)都趨向于零,則(3.2)和(3.3)式中的誤差項(xiàng)和都趨于零。也就是說(shuō),(3.4)式和(3.5)式都收斂到準(zhǔn)確解,且至少有四階精度。</p><p>  3.3.2 分段線性插值求積公式</p><p>  由于三次樣條插值方法的計(jì)算涉及到方程組的求解,計(jì)算比較復(fù)雜

46、。因此,接下來(lái)將構(gòu)造更加簡(jiǎn)便的插值型求積公式。</p><p>  我們依然只對(duì)中的非振蕩函數(shù)構(gòu)造分段線性插值函數(shù),使得 </p><p><b> ?。?.8)</b></p><p>  同3.3.1中的處理方法,把區(qū)間分為n等分,節(jié)點(diǎn)為,步長(zhǎng)。記,,… ,.則可以在每個(gè)小區(qū)間上可表示為</p><p&

47、gt;  其中 </p><p><b>  ,</b></p><p>  則積分 </p><p><b> ?。?.9)</b></p><p><b>  誤差分析:</b></p><p>&l

48、t;b>  因此</b></p><p><b> ?。ㄆ渲校?lt;/b></p><p>  所以由(3.8)式得出</p><p>  由上式可以看出,當(dāng)時(shí),它的右端項(xiàng)趨于零。即(3.8)的誤差項(xiàng)趨于零。也就是說(shuō),(3.9)式收斂到準(zhǔn)確解,且至少有二階精度。</p><p>  3.3.3 分段拋

49、物插值求積公式</p><p>  為了進(jìn)一步提高收斂速度,我們將采用分段拋物插值來(lái)逼近。首先我們依然對(duì)中的非振蕩函數(shù)構(gòu)造分段拋物插值函數(shù),使得</p><p><b> ?。?.10)</b></p><p>  同樣地,我們?nèi)耘f把區(qū)間分為n等分,節(jié)點(diǎn)為,步長(zhǎng)。</p><p><b>  記,,… ,<

50、;/b></p><p>  于是所求的滿足以下條件:</p><p> ??;;;在每個(gè)小區(qū)間上是拋物函數(shù)。</p><p><b>  其中</b></p><p><b>  ,</b></p><p><b>  ,</b></p>

51、;<p><b>  代入得:</b></p><p><b> ?。?.11)</b></p><p><b>  誤差分析:</b></p><p><b> ?。ㄆ渲校?lt;/b></p><p><b>  因此</b&g

52、t;</p><p><b> ?。ㄆ渲校?lt;/b></p><p><b>  由(3.10)式得</b></p><p>  從上式可以看出,當(dāng)時(shí),它的右端項(xiàng)趨于零。即(3.10)的誤差項(xiàng)趨于零。也就是說(shuō),(3.11)式收斂到準(zhǔn)確解,且至少有三階精度。</p><p>  3.3.4 復(fù)化九

53、點(diǎn)高斯-勒讓德求積公式</p><p>  作為整體,把區(qū)間n等分,節(jié)點(diǎn)為,步長(zhǎng)。記,,… ,。</p><p><b>  則</b></p><p>  對(duì)上式右端的每一項(xiàng)作如下的線性變換:</p><p><b>  令</b></p><p><b>  則

54、</b></p><p>  對(duì)上式右端的每一項(xiàng)使用九點(diǎn)高斯-勒讓德求積公式得到:</p><p><b> ?。?.12)</b></p><p>  其中R為積分余項(xiàng),A為九點(diǎn)高斯-勒讓德求積公式的求積系數(shù)。</p><p><b>  誤差分析:</b></p>&l

55、t;p>  n+1點(diǎn)高斯-勒讓德求積公式的積分余項(xiàng)為</p><p>  取n=8,所以在(3.12)式中,每個(gè)積分小區(qū)間上都有一個(gè)積分余項(xiàng)</p><p><b> ?。ㄆ渲校?lt;/b></p><p><b>  其中</b></p><p>  由上式可以看出,當(dāng)時(shí),它的右端項(xiàng)趨向于零,那

56、么(3.12)的積分誤差項(xiàng)R趨向于零。于是該積分公式是收斂到精確值I的,且至少有十七階精度。</p><p>  4 數(shù)值示例及評(píng)價(jià)</p><p>  下面我們通過(guò)具體的振函數(shù)作為例子來(lái)驗(yàn)證和比較各種數(shù)值算法,從而得出它們的優(yōu)劣。</p><p>  4.1 求一維振蕩函數(shù)積分的數(shù)值示例</p><p><b>  考慮積

57、分</b></p><p>  已知它的精確值是:。</p><p>  下面我們分別用上文提到的四種求積公式進(jìn)行計(jì)算,并列表比較如下。其中涉及到的程序見(jiàn)附錄。</p><p><b>  表4.1</b></p><p>  從上面的表格可以看出,隨著劃分段數(shù)的增加,即步長(zhǎng)減小時(shí),所得結(jié)果越來(lái)越精確。這說(shuō)明

58、使用的積分公式是收斂的。從而驗(yàn)證了各積分公式的正確性和有效性。</p><p><b>  4.2 評(píng)價(jià)</b></p><p>  對(duì)于插值型積分公式,從理論講精度由高到低為:三次樣條插值求積公式、分段拋物插值求積公式、分段線性插值求積公式。但從示例中來(lái)看,在用計(jì)算機(jī)計(jì)算時(shí),三次樣條插值求積公式比分段線性插值、分段拋物插值求積公式的收斂速度要慢。另外使用三次樣條

59、插值求積公式的時(shí)候還要解方程從而求得,這是十分費(fèi)時(shí)費(fèi)力的,編寫(xiě)程序的時(shí)候就需要調(diào)用一系列的函數(shù)。顯然地,三次樣條插值求積公式在實(shí)際計(jì)算中反而不如另外兩種插值公式。</p><p>  從實(shí)際應(yīng)用和理論上分析,分段拋物插值求積公式都相對(duì)其他兩種較好。對(duì)于復(fù)化型求積公式,雖然在區(qū)間段少的時(shí)候結(jié)果不是很理想,但隨著區(qū)間段的增加,由于收斂速度較快,積分結(jié)果都會(huì)很好地收斂到精確值。另外,復(fù)化求積公式適用于大多數(shù)的振蕩函數(shù)的

60、積分,這是其它三種方法做不到的。</p><p><b>  5 結(jié)論</b></p><p>  眾所周知,振蕩函數(shù)的數(shù)值積分是數(shù)值積分的一個(gè)難點(diǎn),同時(shí)目前對(duì)求振蕩函數(shù)數(shù)值積分的方法研究也有了一些成果,相比以前的方法具有簡(jiǎn)便易行、計(jì)算量小而求積精度高等特點(diǎn)?,F(xiàn)代計(jì)算機(jī)的出現(xiàn)為大規(guī)模的數(shù)值計(jì)算提供了條件,集中而系統(tǒng)地研究適用于計(jì)算機(jī)的數(shù)值方法變得十分迫切和必要。&

61、lt;/p><p>  本文大致闡述了一些數(shù)值積分的基本思想和原理,并深入認(rèn)識(shí)數(shù)值積分法的意義,明確代數(shù)精度的概念,以及數(shù)值積分精度與步長(zhǎng)的關(guān)系;同時(shí)介紹了幾種基本的常用積分公式以及幾種優(yōu)化的積分公式并列出它們各自的優(yōu)缺點(diǎn)及適用范圍。振蕩函數(shù)由于振蕩頻率很高,所以在保證積分精度的同時(shí)還要考慮到高次插值多項(xiàng)式的嚴(yán)重缺陷。文中只要針對(duì)一維振蕩函數(shù)設(shè)計(jì)了幾種方法,分別是三次樣條插值,分段線性插值,分段拋物插值以及九點(diǎn)高斯-

62、勒讓德求積方法。并且用具體實(shí)例,通過(guò)比較分析各種方法得到的數(shù)據(jù)以及算法本身的效率總結(jié)出一個(gè)結(jié)論,在一維振蕩函數(shù)積分的數(shù)值計(jì)算中,復(fù)化九點(diǎn)高斯-勒讓德求積公式是最理想的。但在插值型求積公式中,無(wú)論是從理論還是數(shù)值實(shí)踐兩方面來(lái)講,分段拋物插值求積公式是相對(duì)較好的,而三次樣條插值是較差的。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 黃明游,劉

63、播,徐濤. 數(shù)值計(jì)算方法[M]. 北京:科學(xué)出版社,2005:125-132.</p><p>  [2] Micheal T.Heath. Scientific Computing: An Introductory Survey[M].(2nd edition). 北京:清華大學(xué)出版社,2002:186-199.

64、</p><p>  [3] 現(xiàn)代應(yīng)用數(shù)學(xué)手冊(cè)編委會(huì). 現(xiàn)代應(yīng)用數(shù)學(xué)手冊(cè)——計(jì)算與數(shù)值分析卷[M]. 北京:清華大學(xué)出版社,2005:223-227.</p><p>  [4] Richard L.Burden, J.Douglas Faires. Numerical Analysis[M].( 7th

65、60;edition) . 北京:高等教育出版社,2003.4:221-264.</p><p>  [5] 鄭咸義,姚仰新,雷秀仁,路子強(qiáng),黃鳳輝.應(yīng)用數(shù)值分析[M].廣州:華南理工大學(xué)出版社,2008:157-159.</p><p>  [6] 李慶揚(yáng),關(guān)治,白峰杉.數(shù)值計(jì)算原理[M].北京:清華大學(xué)出版社,2005:109-115.</p><

66、;p>  [7] 陸建芳.振蕩函數(shù)的Hermite數(shù)值積分公式[J].數(shù)值計(jì)算與計(jì)算機(jī)應(yīng)用.1998,</p><p>  14(04):96-98. </p><p>  [8] 馬昌鳳,林偉川. 現(xiàn)代數(shù)值計(jì)算方法[M]. 北京:科學(xué)出版社,2008:100-120.</p><p>  [9] 李慶揚(yáng),王能超,易大義.數(shù)值分析[M].(第四版).北京:清華

67、大學(xué)出版社,2001:118-146.</p><p>  [10] 熊華,楊國(guó)孝.一類(lèi)振蕩函數(shù)的數(shù)值積分方法[J].北京:北京理工大學(xué)學(xué)報(bào).1999,</p><p>  19(03):280-284.</p><p>  [11] 李毅夫.對(duì)振蕩函數(shù)數(shù)值積分方法的進(jìn)一步探討[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí).2002,</p><p>  32(0

68、1):91-93.</p><p>  [12] 李毅夫.計(jì)算振蕩函數(shù)積分的新公式[J]. 數(shù)學(xué)的實(shí)踐與認(rèn)識(shí).1994,20(03):92-96.</p><p>  [13]李毅夫.一種新型高效的振蕩函數(shù)數(shù)值積分方法[J].計(jì)算數(shù)學(xué).1992,14(04):506-512.</p><p>  [14] 林成森.數(shù)值計(jì)算方法(上)[M]. 北京:科學(xué)出版

69、社,2004:173-179.</p><p>  [15] 韓丹夫,吳慶標(biāo).數(shù)值計(jì)算方法[M].浙江:浙江大學(xué)出版社,2006:191-193.</p><p><b>  附錄</b></p><p>  程序1:三次樣條插值求積公式</p><p>  %此函數(shù)利用對(duì)f(x)做三次樣條插值的方法來(lái)實(shí)現(xiàn)形如f(x)*

70、sin(m*x)的振蕩函數(shù)的積分,其中m為很大的整數(shù)。</p><p>  function Integral_Value=ZL_Spline31_Integral(part_integral_f,a,b,m,n)</p><p>  %input___part_integral_f為被積振蕩函數(shù)的一部分</p><p>  %input___a為積分下限,b為積分

71、上限</p><p>  %input___m為振蕩系數(shù)</p><p>  %input___n為等分?jǐn)?shù)</p><p>  %output___Integral_Value為振蕩函數(shù)的積分值</p><p>  format long</p><p>  h=(b-a)/n;</p><p>

72、;  for j=1:n+1</p><p>  x(j)=a+(j-1)*h;</p><p><b>  end</b></p><p>  f=feval(part_integral_f,x);</p><p>  M=ZL_Spline_Inter_3_1(x',f);</p><p&

73、gt;  %f_1oder_a=-h/3*M(1)-h/6*M(2)+(f(2)-f(1))/h</p><p>  %f_1oder_b=diff(part_integral_f,1,b);</p><p>  %f_1oder_a=1;</p><p>  %f_1oder_b=1;</p><p>  f_1oder_a=(feval(

74、part_integral_f,a+h)-feval(part_integral_f,a-h))/(2*h);</p><p>  f_1oder_b=(feval(part_integral_f,b+h)-feval(part_integral_f,b-h))/(2*h);</p><p>  A=-feval(part_integral_f,b)*cos(m*b)/m+feval(pa

75、rt_integral_f,a)*cos(m*a)/m+f_1oder_b*sin(m*b)/m^2-f_1oder_a*sin(m*a)/m^2+M(n+1)*cos(m*b)/m^3-M(1)*cos(m*a)/m^3;</p><p>  B=-2*sin(m*h/2)/(m^4*h);</p><p><b>  S_Sum=0;</b></p>

76、<p><b>  for j=1:n</b></p><p>  S_Sum=S_Sum+(M(j+1)-M(j))*cos(m*(x(j)+x(j+1))/2);</p><p><b>  end</b></p><p>  Integral_Value=A+B*S_Sum;</p><

77、;p><b>  程序2:求的程序</b></p><p>  function [M]=ZL_Spline_Inter_3_1(x,y)</p><p>  %input___(x,y)為被插值的離散點(diǎn)</p><p>  %output___M為彎矩</p><p>  [n m]=size(x);</p

78、><p>  for(j=1:(n-1))</p><p>  h(j)=x(j+1)-x(j);</p><p>  fCF(j)=(y(j+1)-y(j))/ h(j);</p><p><b>  end</b></p><p><b>  LMD(1)=1;</b><

79、;/p><p><b>  u(n-1)=1;</b></p><p>  d(1)=6*(fCF(1)-3)/h(1);</p><p>  d(n)=6*(-4.0-fCF(n-1))/h(n-1);</p><p>  for(j=1:(n-2))</p><p>  u(j)=h(j)/(h(

80、j)+h(j+1));</p><p>  LMD(j+1)=h(j+1)/(h(j)+h(j+1));</p><p>  d(j+1)=6*(fCF(j+1)-fCF(j))/(h(j)+h(j+1));</p><p><b>  end</b></p><p>  for(j=1:n)</p>&l

81、t;p><b>  A(j,j)=2;</b></p><p><b>  end</b></p><p>  for(j=1:(n-1))</p><p>  A(j,j+1)=LMD(j);</p><p>  A(j+1,j)=u(j);</p><p><

82、b>  end</b></p><p>  M=inv(A)*d';</p><p>  程序3:計(jì)算表4.1第一列中數(shù)據(jù)</p><p>  function [Spline31_Int_V,abs_Error]=main_Spline31</p><p>  format long</p><

83、p>  Exct=-0.2598125353459;</p><p>  for i=1:11</p><p>  Spline31_Int_V(i)=ZL_Spline31_Integral('f_ex_cos10x',-pi,pi,90,2^i);</p><p>  abs_Error(i)=abs(Spline31_Int_V(i)-E

84、xct);</p><p><b>  end</b></p><p>  Spline31_Int_V</p><p><b>  abs_Error</b></p><p>  程序4:分段線性插值求積公式</p><p>  %此函數(shù)利用對(duì)f(x)做分段線性插值的方法來(lái)

85、實(shí)現(xiàn)形如f(x)*sin(m*x)的振蕩函數(shù)的積分,其中m為很大的整數(shù)。</p><p>  function Integral_Value=ZL_LinearInter(part_integral_f,a,b,m,n)</p><p>  %input___part_integral_f為被積振蕩函數(shù)的一部分</p><p>  %input___a為積分下限,b

86、為積分上限</p><p>  %input___m為振蕩系數(shù)</p><p>  %input___n為等分?jǐn)?shù)</p><p>  %output___Integral_Value為振蕩函數(shù)的積分值</p><p>  format long</p><p>  h=(b-a)/n;</p><p

87、>  for j=1:n+1</p><p>  x(j)=a+(j-1)*h;</p><p><b>  end</b></p><p>  Sum_Value=0;</p><p><b>  for j=1:n</b></p><p>  A(j)=(feval

88、(part_integral_f,x(j+1))-feval(part_integral_f,x(j)))/h;</p><p>  B(j)=(x(j+1)*feval(part_integral_f,x(j))-x(j)*feval(part_integral_f,x(j+1)))/h; </p><p>  Sum_Value=Sum_Value+A(j)*((sin(m*x(j+1

89、))-sin(m*x(j)))/m-x(j+1)*cos(m*x(j+1))+x(j)*cos(m*x(j)))-B(j)*(cos(m*x(j+1))-cos(m*x(j)));</p><p><b>  end</b></p><p>  Integral_Value=Sum_Value/m;</p><p>  程序5:計(jì)算表4.1第二

90、列中數(shù)據(jù)</p><p>  function [LinearInter_Int_V,abs_Error]=main_LinearInter</p><p>  format long</p><p>  Exct=-0.2598125353459;</p><p>  for i=1:11</p><p>  Lin

91、earInter_Int_V(i)=ZL_LinearInter('f_ex_cos10x',-pi,pi,90,2^i);</p><p>  abs_Error(i)=abs(LinearInter_Int_V(i)-Exct);</p><p><b>  end</b></p><p>  LinearInter_Int

92、_V</p><p><b>  abs_Error</b></p><p>  程序6:分段拋物插值求積公式</p><p>  %此函數(shù)利用對(duì)f(x)做分段拋物插值的方法來(lái)實(shí)現(xiàn)形如f(x)*sin(m*x)的振蕩函數(shù)的積分,其中m為很大的整數(shù)。</p><p>  function Integral_Value=ZL

93、_ParabolicInter(part_integral_f,a,b,m,n)</p><p>  format long</p><p>  h=(b-a)/n;</p><p>  for j=1:n+1</p><p>  x(j)=a+(j-1)*h;</p><p><b>  end</b

94、></p><p>  Integral_Value=0;</p><p><b>  for j=1:n</b></p><p>  A(j)=(2*feval(part_integral_f,x(j+1))-4*feval(part_integral_f,x(j)+h/2)</p><p>  +2*feval

95、(part_integral_f,x(j)))/h^2;</p><p>  B(j)=((4*h+8*x(j))*feval(part_integral_f,x(j)+h/2)-(h+4*x(j))*feval(part_integral_f,x(j+1))-(3*h+4*x(j))*feval(part_integral_f,x(j)))/h^2;</p><p>  C(j)=((2

96、*x(j)^2+h*x(j))*feval(part_integral_f,x(j+1))</p><p>  -(4*x(j)^2+4*h*x(j))*feval(part_integral_f,x(j)+h/2)</p><p>  +(2*x(j)^2+3*h*x(j)+h^2)*feval(part_integral_f,x(j)))/h^2 Integral_Value=Inte

97、gral_Value+A(j)*((2*cos(m*x(j+1))-2*cos(m*x(j)))/m^3 +(2*x(j+1)*sin(m*x(j+1))-2*x(j)*sin(m*x(j)))/m^2-(x(j+1)^2*cos(m*x(j+1))-x(j)^2*cos(m*x(j)))/m) +B(j)*((x(j)*cos(m*x(j))-x(j+1)*cos(m*x(j+1)))/m +(sin(m*x(j+1))-sin(m*

98、x(j)))/m^2)+C(j)*(cos(m*x(j))-cos(m*x(j+1)))/m; </p><p><b>  end</b></p><p>  程序7:計(jì)算表4.1第三列中數(shù)據(jù)</p><p>  function [Para_Int_V,abs_Error]=main_Para</p><p>  f

99、ormat long</p><p>  Exct=-0.2598125353459;</p><p>  for i=1:11</p><p>  Para_Int_V(i)=ZL_ParabolicInter('f_ex_cos10x',-pi,pi,90,2^i);</p><p>  abs_Error(i)=abs(

100、Para_Int_V(i)-Exct);</p><p><b>  end</b></p><p>  Para_Int_V</p><p><b>  abs_Error</b></p><p>  程序8:復(fù)化九點(diǎn)高斯—勒讓德求積公式</p><p>  %此函數(shù)利用復(fù)

101、化九點(diǎn)高斯,勒讓德積分方法來(lái)實(shí)現(xiàn)形如f(x)*sin(m*x)的一維振蕩函數(shù)的積分,其中m為很大的整數(shù)。也可以用來(lái)求更一般的一維f(x)函數(shù)的積分。</p><p>  function GL_int_value=ZL_Cplx_9Gauss_Legendre(Oscillation_fun,a,b,n)</p><p>  %input___Oscillation_fun為一維振蕩被積函

102、數(shù),可以為更一般的函數(shù)</p><p>  %input___a為積分下限</p><p>  %input___b為積分上限</p><p>  %input___n為剖分段數(shù)</p><p>  %output___GL_int_value為復(fù)化的九點(diǎn)Gauss_Legendre積分值</p><p>  form

103、at long</p><p>  h=(b-a)/n;</p><p><b>  h_2=h/2;</b></p><p>  xk=[0.9681602395 -0.9681602395 0.8360311073 -0.8360311073 0.6133714327 -0.6133714327 0.3242534234 -0.324253

104、4234 0];%高斯求積節(jié)點(diǎn)</p><p>  Ak=[0.0812743884 0.0812743884 0.1806481607 0.1806481607 0.2606106964 0.2606106964 0.3123470770 0.3123470770 0.3302393550];%高斯求積系數(shù)</p><p>  for j=1:n+1</p><

105、;p>  x(j)=a+(j-1)*h;</p><p><b>  end</b></p><p><b>  for j=1:n</b></p><p><b>  for i=1:9</b></p><p>  Value(j,i)=Ak(i)*feval(Osci

106、llation_fun,x(j)+h_2+h_2*xk(i));</p><p><b>  end</b></p><p><b>  end</b></p><p>  GL_int_value=h_2*sum(sum(Value));</p><p>  程序9:計(jì)算表4.1第四列中數(shù)據(jù)<

107、;/p><p>  function [Cplx9GL_Int_V,abs_Error,Rerror]=main_Cplx9GL</p><p>  format long</p><p>  Exct=-0.2598125353459;</p><p>  for i=1:11 </p><p>  Cplx9GL

108、_Int_V(i)=ZL_Cplx_9Gauss_Legendre('f_expcossin',-pi,pi,2^i);</p><p>  abs_Error(i)=abs(Cplx9GL_Int_V(i)-Exct);</p><p><b>  end</b></p><p>  Cplx9GL_Int_V</p&g

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論